问题 22840 --黑和白

22840: 黑和白

时间限制: 5 Sec  内存限制: 128 MB
提交: 23  解决: 7
[提交][状态][讨论版][命题人:]

题目描述

真彩色位图可以转换为黑色和白色的位图。

首先,一个象素的灰度值可以这样计算( 11 *红色+ 16 *绿+ 5 *蓝) / 32。

其次,分辨黑和白的阈值 通过 ( 192 + 2 *平均值ag)/ 3计算出的,其中平均值ag = sum(灰度值) / ( W * H) ,其中sum()函数是对所有灰度值求和,W和H分别是图像的长和宽。

最后,进行判断,经过转换之后的每个像素的灰度值< 阈值 的为黑色,其他为白色(所有除法都是整除)。

输入

有多组输入输出。

每一种情况下是一个真彩色位图。第一行是“wxh” ,3≤ H≤ 300,3≤ W≤ 300。w是宽,H是高。 使用红,绿,蓝颜色值相结合的十六进制表示法定义。每种颜色用十六进制值的两位数字表示,以#开头。

输出

对于每个测试用例,输出的黑色和白色的位图。输出空白为空格,黑色为9。中间用空格隔开。

样例输入

10x10
#1266E2 #03BF04 #B3988A #9B7411 #B3585E #BC036B #757E20 #9F37B7 #0150EF #AB34D4
#66B1D0 #631AD9 #24B176 #3933E7 #F731CF #BDFA8A #A88015 #7B07A0 #DDFD63 #EF5B6F
#BC80B6 #D10920 #3E4D65 #669217 #CC2C1D #9CF8A3 #669730 #667CC8 #A916C6 #611FFD
#7C8798 #C5A6A3 #8AB317 #EA177E #7372E2 #38BE40 #139C7A #213535 #71DA7B #AF5ACE
#7FBEB8 #401EC7 #2EE620 #E1C350 #B0653A #7F0F4D #852C00 #923573 #5995E5 #17837B
#8E7132 #69E6AE #70FCE4 #4C8941 #4832A5 #EF4C2B #7B4E38 #1E61A9 #3058C5 #3FA175
#B82C74 #DB3C4B #01D753 #83C951 #2047F6 #AD9F95 #75BAC9 #F87479 #133555 #82AEA9
#FF98A9 #819D40 #772A84 #8CEFD1 #8353DF #AC1654 #3A3130 #C0E192 #4E1EDC #3C4C6D
#664C29 #FD0067 #DC474A #6BFA6C #08339D #6416B3 #619AE7 #A28BF1 #23A668 #B0D211
#2A3E62 #1172AE #5340EB #FBFD76 #338D32 #99444D #6ED6CE #F055E0 #1F4E82 #32F0CA

样例输出

10x10
9 9   9 9 9 9 9 9 9
  9 9 9 9   9 9    
  9 9 9 9   9 9 9 9
9   9 9 9 9 9 9   9
  9 9   9 9 9 9 9 9
9     9 9 9 9 9 9 9
9 9 9   9       9  
  9 9   9 9 9   9 9
9 9 9   9 9     9  
9 9 9   9 9     9  

来源

 

[提交][状态]