A+B for Matrices
A+B for Matrices
http://www.nowcoder.com/questionTerminal/e431b3ae9efa4726b45a659b71abe124
题意:给出两个同型矩阵A,B(行列数在每组数据第一行给出),判断矩阵A+B全0行和全0列共有多少
个人思路:用三次二重循环:
第一次读矩阵A;
第二次按行优先读矩阵B,同时判断每个元素是否和A对应位置的元素互为相反数(通过flag标记)。
第三次按列优先判断A和B的每一对应列。
#include<stdio.h> int main() { int row,column; while(scanf("%d%d",&row,&column) != EOF&& row) { int ans = 0,flag = 1; int a[row][column],b[row][column]; for(int i = 0;i<row;i++) // 读A矩阵 for(int j = 0;j<column;j++) scanf("%d",&a[i][j]); for(int i = 0;i<row;i++) // 读B矩阵并判断每一行 { for (int j = 0; j < column; j++) { scanf("%d", &b[i][j]); if (flag && a[i][j] + b[i][j] == 0) continue; else flag = 0; } if (flag) ans++; flag = 1; } for(int i = 0;i<column;i++) // 判断每一列 { for (int j = 0; j < row; j++) { if (flag && a[j][i] + b[j][i] == 0) continue; flag = 0; } if(flag) ans++; flag = 1; } printf("%d\n",ans); } return 0; }