九度OJ —— 1001

来源:互联网 发布:linux cron命令每周三 编辑:程序博客网 时间:2024/05/21 13:21

题目描述:
This time, you are supposed to find A+B where A and B are two matrices,
and then count the number of zero rows and columns.
输入:
The input consists of several test cases, each starts with a pair of positive integers M and N (≤10)
which are the number of rows and columns of the matrices, respectively.
Then 2*M lines follow, each contains N integers in [-100, 100], separated by a space.
The first M lines correspond to the elements of A and the second M lines to that of B.
The input is terminated by a zero M and that case must NOT be processed.
输出:
For each test case you should output in one line the total number of zero rows and columns of A+B.
样例输入:
2 2
1 1
1 1
-1 -1
10 9
2 3
1 2 3
4 5 6
-1 -2 -3
-4 -5 -6
0
样例输出:
1
5

// 输入两个同行同列矩阵A,B A+B相加后,统计为每一行全为0和每一列都为0的列(行)个数之和#include <iostream>using namespace std;int main(){    int m,n;    int i,j;    int a[10][10],b[10][10],c[10][10];    while(cin>>m>>n && m!=0 && n!=0){        a[10][10]=0;        b[10][10]=0;        c[10][10]=0;        for(i=0;i<m;i++){            for(j=0;j<n;j++){                cin>>a[i][j];            }        }        for(i=0;i<m;i++){            for(j=0;j<n;j++){                cin>>b[i][j];            }        }        for(i=0;i<m;i++){            for(j=0;j<n;j++){                c[i][j]=a[i][j]+b[i][j];            }        }        int sum1=0,sum2=0,sum=0;        for(i=0;i<m;i++){            int sum1=0;            for(j=0;j<n;j++){                if(c[i][j]==0)                    sum1++;                else                    break;            }            if(sum1==n)                sum++;        }        for(i=0;i<n;i++){            int sum2=0;            for(j=0;j<m;j++){                if(c[j][i]==0)                    sum2++;                else                    break;            }            if(sum2==m)                sum++;        }        cout<<sum<<endl;    }    return 0;}