一副$n\times m$的灰度图像的灰度直方图可以表示为一个长度为$L$的数组$h$,其中$h[x] (0<=x<L)$表示该图像中灰度值为$x$的像素个数。已知一副图像的灰度矩阵$A$,试计算其灰度直方图$h[0],h[1],\cdots,h[L-1]$。
输入的第一行包含三个用空格分隔的正整数$n, m, L$,含义如前文所述。接下来$n$行,每行给出$m$个整数,表示整个灰度图像。
输出仅一行,包含用空格分隔的$L$个整数,表示输入图像的灰度直方图。
#include <bits/stdc++.h>
using namespace std;
using gg = long long;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
gg ni, mi, li, xi;
cin >> ni >> mi >> li;
vector<gg> ans(li);
for (gg i = 0; i < ni; ++i) {
for (gg j = 0; j < mi; ++j) {
cin >> xi;
ans[xi]++;
}
}
for (gg i : ans) {
cout << i << " ";
}
return 0;
}