TopCoder

腦子裝咖哩
想像不出自己 AC 的題目是實作不出來的!雖然想像得出來也不一定可以就是了

User's AC Ratio

98.7% (78/79)

Submission's AC Ratio

74.2% (98/132)

Tags

Description

一個 n*n 影像檔包含 n2 個像素。每個像素包含紅(R)綠(G)藍(B)三個顏色。寫一個程式,讀入一個 n*n 影像檔,根據下列式子,將紅綠藍三個顏色轉換成 XYZ 表色系統,其中 Y 為影像亮度,將轉換成的 XYZ 根據輸入順序輸出,並算出影像平均亮度,將答案輸出。

表示

X = 0.5149 * R + 0.3244 * G + 0.1607 * B
Y = 0.2654 * R + 0.6704 * G + 0.0642 * B
Z = 0.0248 * R + 0.1248 * G + 0.8504 * B

Input Format

每一個像素皆由 RGB 三個顏色組成,每個顏色的值是介於 0 到 255 之間(含)的整數,若一個像素的組成為 R = 255、G = 3、B = 192,則此像素表示為 255 3 192 (整數間以一個空白字元分隔)。
輸入檔案的第一行為一整數 n ( 0 < n ≤ 256 ),之後有 n 行,每一行代表 n 個像素,每個像素都是由上述的方式表示 (每個像素間以一個空白字元隔開)。

Output Format

對每一個像素請根據輸入順序,由左而右,由上而下輸出,每一行請輸出 1 個像素,共 n2 行,每一個像素依序輸出 X、Y、Z 的值,並且三個值之間都以一個空白字元分隔,並在最後一行輸出影像平均亮度 (請印出 “The average of Y is”)。其中 X、Y、Z 的值與影像平均亮度的值請表示到小數點後第 4 位 (以下四捨五入)。
註:每個數字要跟裁判的輸出檔完全相同才會AC。

Sample Input 1

2
255 3 192 254 16 171
224 51 167 160 34 8

Sample Output 1

163.1271 82.0146 169.9752
163.4547 89.1162 153.7144
158.7189 104.3614 153.9368
94.6992 65.7712 15.0144
The average of Y is 85.3159

Hints

Problem Source

原TIOJ1140 / 95全國賽(prob 1)。

Subtasks

No. Testdata Range Score
1 0 16
2 1 16
3 2 16
4 3 16
5 4 16
6 5 20

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 900 65536 262144 1
1 900 65536 262144 2
2 900 65536 262144 3
3 900 65536 262144 4
4 900 65536 262144 5
5 900 65536 262144 6