1 条题解

  • 0
    @ 2025-4-7 21:19:28

    C :

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    int cmp(const void *a,const void *b) {
            return *(int *)b-*(int *)a;
    }
    
    int main() {
            int a[32];
            int n,i,j,t;
            while(scanf("%d",&n)!=EOF) {
                    memset(a,0,sizeof(a));
                    for(i=0;i<n;i++) for(j=0;j<n;j++) {
                            scanf("%d",&t);
                            a[i]+=t;
                            a[j+n]+=t;
                            if (i==j) a[n+n]+=t;
                            if (i+j==n-1) a[n+n+1]+=t;
                    }
                    qsort(a,n+n+2,sizeof(a[0]),cmp);
                    for(i=0;i<n+n+1;i++) printf("%d ",a[i]);
                    printf("%d\n",a[i]);
            }
            return 0;
    }
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    int cmp(const void *a,const void *b) {
    	return *(int *)b-*(int *)a;
    }
    
    int main() {
    	int a[32];
    	int n,i,j,t;
    	while(scanf("%d",&n)!=EOF) {
    		memset(a,0,sizeof(a));
    		for(i=0;i<n;i++) for(j=0;j<n;j++) {
    			scanf("%d",&t);
    			a[i]+=t;
    			a[j+n]+=t;
    			if (i==j) a[n+n]+=t;
    			if (i+j==n-1) a[n+n+1]+=t;
    		}
    		qsort(a,n+n+2,sizeof(a[0]),cmp);
    		for(i=0;i<n+n+1;i++) printf("%d ",a[i]);
    		printf("%d\n",a[i]);
    	}
    	return 0;
    }
    

    Java :

    import java.util.*;
    
    public class Main{
      final static Scanner jin=new Scanner(System.in);
      public static void main(String args[]){
        while(jin.hasNextInt()){
          int m=jin.nextInt();
          int sums[]=new int[2*m+2];
          int x;
          Arrays.fill(sums,0);
          for(int i=0;i<m;i++){
            for(int j=0;j<m;j++){
              x=jin.nextInt();
              sums[i]+=x;
              sums[j+m]+=x;
              if(i==j)sums[2*m]+=x;
              if(i+j+1==m)sums[2*m+1]+=x;
            }
          }
          Arrays.sort(sums);
          System.out.print(sums[2*m+1]);
          for(int i=2*m;i>=0;i--)
            System.out.print(" "+sums[i]);
          System.out.println();
        }
      }
    }
    
    • 1

    信息

    ID
    1146
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者