为什么后8个点RE

P1093 [NOIP2007 普及组] 奖学金

Cris @ 2017-10-13 18:29:00

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int a[10][400];
int main(){
    int n,m,k;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i][1]>>a[i][2]>>a[i][3];
        a[i][4]=a[i][1]+a[i][2]+a[i][3];
        a[i][5]=i;
    }
    for(int i=1;i<=n;i++){
        for(int h=i+1;h<=n;h++){
            if(a[i][4]<a[h][4]){
                for(int z=1;z<=5;z++){
                    int k=a[i][z];
                    a[i][z]=a[h][z];
                    a[h][z]=k;
                }
            }
            if(a[i][4]==a[h][4]){
                if(a[i][1]<a[h][1]){
                    for(int z=1;z<=5;z++){
                        int k=a[i][z];
                        a[i][z]=a[h][z];
                        a[h][z]=k;
                    }
                }
                if(a[i][1]==a[h][1]){
                    if(a[i][5]>a[h][5]){
                        for(int z=1;z<=5;z++){
                            int k=a[i][z];
                            a[i][z]=a[h][z];
                            a[h][z]=k;
                        }
                    }
                }
            }
        }
    }
    for(int y=1;y<=5;y++){
        cout<<a[y][5]<<" "<<a[y][4]<<endl;
    }
}

by cszmc2004 @ 2017-10-13 18:51:29

数组开小

至少应该开a[400][10]


by Cris @ 2017-10-14 07:52:30

我去。。。。我简直疯了


|