2011年8月31日 星期三

11588 - Image Coding

給定一張圖檔,每個像素分別以大寫字母表示,其出現次數最高的字母定義為"最重要的像素",而其他像素則為不重要的像素(若有不同像素出現次數一樣高,則皆視為最重要的像素),最重要的像素會被編碼成M個位元組,不重要的像素被編碼成N個位元組,請你計算一張圖檔編碼後的檔案大小。

Input
輸入一開始給定一個整數X(1 <= X <= 50)表示測試資料的組數。每組測試資料的第一列為4個整數R(1 <= R <= 20), C(1 <= C <= 20), M(1 <= M <= 10), N(1 <= N <= 10),R與C分別表示圖檔的列數與行數,M表示最重要像素的位元組數,N表示不重要像素的位元組數。接下來有R列,每列有C個字元('A'~'Z')表示圖檔的像素資訊。

Output

請針對每組測試資料,輸出一列格式為"Case x: y",其中x表示測試資料編號,y表示圖檔的位元組大小。

Sample Input                             Output for Sample Input

1
5 4 2 1
ABCD
ABCA
EFAC
BCAG
AZIP


Case 1: 26

本例中包含10種不同的像素'A', 'B', 'C', 'D', 'E', 'F', 'G', 'Z', 'I', 'P',其中'A'出現的次數最多,有6個,故'A'為最重要的像素,故檔案大小為 6*2 + 14*1 = 26位元組。

原文出處

沒有留言:

張貼留言