zoukankan      html  css  js  c++  java
  • 题目1001:A+B for Matrices

    题目1001A+B for Matrices

    时间限制:秒内存限制:32 

    题目描述:

        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

    ----------------

    代码有bug,测试数据不够严谨.  AC了。。。。

    ----------------------------------------------------

    import java.util.Scanner;
    public class Main {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            while(sc.hasNext()){
                int m=sc.nextInt();
                if(m==0)break;
                int n=sc.nextInt();
                int a[][]=new int[m][n];
                int b[][]=new int[m][n];
                int c[][]=new int[m][n];
                int zorerow=0;
                int zorecol=0;
                for(int i=0;i<m;i++)
                    for(int j=0;j<n;j++)
                        a[i][j]=sc.nextInt();
                for(int i=0;i<m;i++)
                    for(int j=0;j<n;j++){
                        b[i][j]=sc.nextInt();
                        c[i][j]=a[i][j]+b[i][j];
                    }
                
                int temp=0;
                int tmp=0;
                for(int i=0;i<m;i++){
                    for(int j=0;j<n;j++){
                      temp+=c[i][j];
                    }
                    if(temp==0)zorerow++;
                    temp=0;
                }
                for(int j=0;j<n;j++){
                    for(int i=0;i<m;i++){
                      tmp+=c[i][j];
                    }
                    if(tmp==0)zorerow++;
                    tmp=0;
                }
                    
                System.out.println(zorerow+zorecol);
            }
    
        }
    
    }
  • 相关阅读:
    51nod 1621 花钱买车牌 优先队列
    最大字段和 51nod 1049 水水水水水水水水水水水水
    大数相乘 51nod 1027 水题
    逆序数 51nod 1019 归并 分治
    最长公共子序列 LCS 递归 dp 51Nod 1006
    vc6 字体设置
    自行车维护大全(zz)
    DirectX 9.0 3D游戏开发编程基础 [书评](zz)
    二维线段树
    latex 引用文献 bib
  • 原文地址:https://www.cnblogs.com/watchfree/p/5322734.html
Copyright © 2011-2022 走看看