十字爆破 题解

十字爆破

https://ac.nowcoder.com/acm/contest/5600/I

只需要用两个数组记录下每行和每列的和即可
然后用本行和+本列和-当前位置即可
import java.util.*;
import java.math.*;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.io.OutputStreamWriter;
import java.io.BufferedReader;
import java.io.PrintWriter;
public class Main {
    public static void main(String args[])throws IOException {
        StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
        in.nextToken();
        int n = (int)in.nval;
        in.nextToken();
        int m = (int)in.nval;
        long num[][] = new long[n][m];
        long jieguo[][] = new long[n][m];
        long heng[] = new long[n];
        long shu[] = new long[m];
        for(int i=0;i<n;i++)
            for(int k=0;k<m;k++)
            {
                in.nextToken();
                num[i][k] = (int)in.nval;
                heng[i]+=num[i][k];
                shu[k]+=num[i][k];
            }
       for(int i=0;i<n;i++)
            for(int k=0;k<m;k++)
            {
                jieguo[i][k] = heng[i]+shu[k]-num[i][k];
            }
        for(int i=0;i<n;i++)
        {
            for(int k=0;k<m;k++)
            {
                 
                out.print(jieguo[i][k]+" ");
            }
        out.println();
        }
        out.flush();
    }
}


全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
05-14 18:44
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务