1 条题解

  • 0
    @ 2024-8-12 10:11:35

    本题通过提前统计i行 j列 减少两层for

    #include<bits/stdc++.h>
    using namespace std;
    short a[1005][1005],x[1005],y[1005];long long ans = -11451451451,sum;
    int main(void){
        freopen("laser.in", "r", stdin);    freopen("laser.out", "w", stdout);
        int n;cin >>n;
        for(int i = 1;i <= n;i++){
        	for(int j = 1;j <= n;j++){
        		scanf("%d",&a[i][j]);
        		y[i] += a[i][j];
        		x[j] += a[i][j];
    		}
    	}
    	for(int i = 1;i <= n;i++){
    		for(int j = 1;j <= n;j++){
    			if(a[i][j] == 0){
    				sum = x[j]+y[i];
    				ans = max(ans,sum);
    			}
    		}
    	}
    	printf("%lld",ans); 
    	return 0;
    }
    

    信息

    ID
    412
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    (无)
    递交数
    48
    已通过
    26
    上传者