SHAOXIAOJ正在加载中...

1139: A+B for Matrices(已翻译)

金币值:2 定数:1 时间限制:1.000 s 内存限制:32 M
正确:2 提交:2 正确率:100.00% 命题人:

题目描述

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.
本题中,你应该算出A+B,其中A和B是两个矩阵,然后计算零行和零列的个数。

输入格式

   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 thesecond M lines to that of B.

    The input is terminated by a zero M and that case must NOT be processed.

    输入由几组数据组成,每个用例从一对正整数M和N(≤10)开始,M和N分别是矩阵的行数和列数。然后是2*M行,每行包含N个整数,以[-100,100]分隔。前M行对应于A的元素,后M行对应于B的元素。

    输入以0 M结束,输入结束。


输出格式

    For each test case you should output in one line the total number of zero rows and columns of A+B.

    对于每组测试用例,你应该在一行中输出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

提示

本题需要解决的问题是求出两个矩阵相加后的结果矩阵中一共有多少零行和零列。所谓零行在线性代数中的就是一行中所有元素为0的行,同样零列也就是一列中所有元素为0的列。那么,解决本题就进行一次矩阵相加即可。用两个数组存储两个矩阵,再用一个数组存储这两个矩阵相加后的结果。然后对结果进行两次遍历,分别求出零行的数目和零列的数目。

注意这里有多组测试数据,那么怎样停止程序呢?每次读入第一个整数,判断是否为0,如果为0则说明输入结束了。

步骤如下:

1)读入数据(两个矩阵);

2)对读入的两个矩阵求和,结果存储在另一个矩阵(结果矩阵)中;

3)对结果矩阵进行两次遍历,获得零行和零列的总数。