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

    题目描述:

        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

    下面是最简单的解法,不过程序本身复杂度不高,所以可以通过:
     1 import java.util.Scanner;
     2  
     3 public class Main{
     4     public static void main(String[] args){
     5         Scanner in=new Scanner(System.in);
     6         int M,N;
     7         M=in.nextInt();
     8         while(M!=0){
     9             N=in.nextInt();
    10             in.nextLine();
    11             int[][]a=new int[M][N];
    12             int[][]b=new int[M][N];
    13             for(int i=0;i<M;i++){
    14                 for(int j=0;j<N;j++){
    15                     a[i][j]=in.nextInt();
    16                 }
    17                 in.nextLine();
    18             }
    19             for(int i=0;i<M;i++){
    20                 for(int j=0;j<N;j++){
    21                     b[i][j]=in.nextInt()+a[i][j];
    22                 }
    23                 in.nextLine();
    24             }
    25             int cout=0;
    26             for(int i=0;i<M;i++){
    27                 boolean bo=true;
    28                 for(int j=0;j<N;j++){
    29                     if(b[i][j]!=0)
    30                         bo=false;
    31                 }
    32                 if(bo)
    33                     cout++;
    34             }
    35             for(int i=0;i<N;i++){
    36                 boolean bo=true;
    37                 for(int j=0;j<M;j++){
    38                     if(b[j][i]!=0)
    39                         bo=false;
    40                 }
    41                 if(bo)
    42                     cout++;
    43             }
    44             System.out.println(cout);
    45             M=in.nextInt();
    46         }
    47     }
    48 }
    49 /**************************************************************
    50     Problem: 1001
    51     User: 0000H
    52     Language: Java
    53     Result: Accepted
    54     Time:930 ms
    55     Memory:18872 kb
    56 ****************************************************************/
  • 相关阅读:
    java访问mysql方法数据库
    iOS8:把这些七招APP哭
    String、StringBuffer与StringBuilder差分
    陈词滥调,正确使用memset
    spring Annotation 组分注塑
    类是公共,它应该被命名为.java文件声明
    【UVA】10012
    Android在ListView显示图片(重复混乱闪烁问题)
    oc-15-枚举结构体
    oc-15-self
  • 原文地址:https://www.cnblogs.com/qq1029579233/p/4418104.html
Copyright © 2011-2022 走看看