#OLD557. 输出灰度直方图
输出灰度直方图
Description
一幅长宽分别为n个像素和m个像素的灰度图像可以表示为一个n×m大小的矩阵A。对于一个8比特灰度图像来说,其中每个元素(0≤i<n,0≤j<m)是一个[0, 128)范围内的整数,表示对应位置像素的灰度值。
现在我们希望统计出给定的灰度矩阵A中的各个灰度的像素的个数,并画出对应的直方图。
画图规则详细说明如下:
·为了简化问题,我们把[0, 128)分为16个区间,只需统计和绘制每个区间内的像素个数即可。
·绘图时,指定y轴每一格代表的数值为15,绘制的格数是实际值除以15向下取整。比如若某一列数目为35,那么应该绘制两格,因为35 15 = 2。
·用字符“#”(不包含引号)来画图,用空格 表示无内容(详见示例)。
·整张图的高度应该取最高列高度(即图的最上方无空行)。
·每两列数据之间应该有两个空格,第一列之前也有两个空格。
·直方图的下方应当有一行数字表示列数,列数拥有前导0。
·每个列数之前也有一个空格,并且列数的个位与直方图的每一列对齐。
比如,对于某一个灰度图,假定其16个区间内像素的数目分别是:
36 33 29 38 40 34 35 35 35 32 31 40 28 39 32 41
画出的直方图为:
Format
Input
输入有多行,第一行是两个正整数m,n。表示矩阵A有m行n列。
接下来m行,每行有n个正整数,表示给定的m x n矩阵的对应位置的值。
对于100%的数据,m,n < 500且不会出现数目大于1000的区间(即画出的图像不会超过100行)。
Output
输出数据包含多行,第一行应该有16个整数,每个整数之前都有一个空格,分别表示给定的灰度图中在各个区间中的像素总个数。
接下来的多行是所画出的灰度直方图,应当严格按照题目描述中的格式给出。
样例如果显示不正常的话,CTRL+鼠标滚轮缩小
Samples
20 20
117 4 64 66 80 87 90 126 56 6 92 13 14 60 85 14 5 44 60 113
90 121 60 0 63 83 79 31 24 100 14 82 105 106 72 1 15 37 81 120
47 115 28 50 109 58 12 87 94 6 8 3 63 115 78 73 103 78 9 120
122 119 37 28 96 9 98 72 117 61 39 19 2 12 26 97 109 20 109 100
44 61 122 98 127 28 19 56 95 24 19 31 49 75 57 46 64 43 55 32
106 105 5 88 26 25 123 34 118 20 31 60 89 26 60 21 3 60 52 84
15 121 22 28 38 40 115 14 115 22 110 16 86 111 19 77 93 98 106 125
112 0 75 103 75 101 115 36 50 27 88 37 95 59 58 120 64 85 123 70
95 18 48 33 34 24 120 124 52 46 13 123 67 33 24 110 108 102 74 24
115 0 40 52 56 37 38 58 102 28 120 94 110 105 37 89 52 44 93 109
7 71 12 35 87 63 47 88 34 101 103 119 48 53 75 8 0 126 3 106
2 67 19 92 7 97 116 67 117 115 105 39 63 115 16 126 20 34 55 45
87 41 114 76 80 0 106 41 33 15 120 16 123 19 115 74 17 68 70 100
77 53 69 50 66 123 65 18 99 17 89 117 114 123 20 28 59 42 45 32
1 32 46 53 57 84 64 47 118 88 66 70 37 57 24 22 122 39 70 106
42 85 61 57 91 35 116 113 88 123 59 116 10 120 77 96 36 78 36 20
29 102 17 112 99 72 11 91 78 62 72 11 82 54 10 1 122 105 60 82
17 58 61 45 34 97 124 26 36 72 69 0 110 53 90 106 113 42 70 10
37 10 110 127 68 124 105 83 55 20 17 72 77 49 90 84 51 33 99 106
33 12 75 123 81 15 70 61 53 39 112 43 105 81 97 77 103 111 1 57
22 24 26 22 32 21 21 32 22 25 21 23 24 27 28 30
# # #
# # # # # # # # # # # # # # # #
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
2 10
66 83 121 107 24 122 68 1 42 126
72 7 38 39 58 42 14 58 89 0
3 1 0 1 2 2 0 2 2 1 1 1 0 1 0 3
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
Hint
输出样例2中第二行不是没有输出哦!
是不是没有必要把所有的输入存下来?