发布时间: 2017年7月9日 18:30 最后更新: 2017年7月10日 21:08 时间限制: 1000ms 内存限制: 128M
描述在一个矩形的灰度图像上,每个像素点或者是黑色的或者是白色的。黑色像素点用 1 表示,白色像素点用 0 表示。现在要求你编写一个程序,计算每列上黑色像素点的个数并输出。如下图所示是一个 6∗8 的黑板图像。
1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0
输入输入有多组组。 每组的第一行有 2 个整数 m 、 n ,( 1<=m , n<=100 )。 接着有 m 行,每行有 n 个数字,每个数字是 0 或 1 ,之间用一个空格分开。
输出对图像数据,依次一行输出图像中每列黑色像素点的总数。
样例输入1 复制 3 5 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 6 8 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 0 样例输出1 2 3 2 1 2 3 5 4 2 2 5 4 1 选择语言 想法:水题 代码: #include<bits/stdc++.h> using namespace std; int a[110][110]; int main() { int n,m; while(scanf("%d %d",&n,&m)!=EOF) { for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { scanf("%d",&a[i][j]); } } for(int i=0;i<m;i++) { int count=0; for(int j=0;j<n;j++) { if(a[j][i]==1) count++; } if(i==m-1) printf("%d\n",count); if(i!=m-1) printf("%d ",count); } } return 0; }