问题来源
http://ac.jobdu.com/problem.php?pid=1001
问题描述
给你两个形式相同的矩阵,对应位置相加得到新矩阵,计算里面全为0的行数和列数。
问题分析
这里其实只需要开一个二维数组就可以,我们可以在输入第二个矩阵时就在第一个矩阵的基础上做循环判断计数就可以了。
参考代码
// // Created by AlvinZH on 2017/4/24. // Copyright (c) AlvinZH. All rights reserved. // #include <iostream> #include <cstdio> using namespace std; int main() { int n,m,a; int mat1[100][100]; int ans; while(~scanf("%d",&n)) { if(n==0) break; scanf("%d",&m); ans=0; for(int i=0;i<n;i++) for(int j=0;j<m;j++) scanf("%d",&mat1[i][j]); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { scanf("%d",&a); mat1[i][j]+=a; } for(int i=0;i<n;i++) { bool flag=true; for(int j=0;j<m;j++) { if(mat1[i][j]!=0) { flag=false; break; } } if(flag) ans++; } for(int j=0;j<m;j++) { bool flag=true; for(int i=0;i<n;i++) { if(mat1[i][j]!=0) { flag=false; break; } } if(flag) ans++; } printf("%d\n",ans); } return 0; }
作者: AlvinZH
出处: http://www.cnblogs.com/AlvinZH/
本人Github:https://github.com/Pacsiy/JobDu
本文版权归作者AlvinZH和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.