70分,WA在6,7,9题...蒟蒻不怎么会了..求神犇帮助呐

P1093 [NOIP2007 普及组] 奖学金

自由の宠儿、 @ 2018-10-05 20:32:59

#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
    long long n,temp;
    cin>>n;
    int a[n],b[n],c[n];
    for(int i=0;i<n;i++)
    {
        cin>>a[i]>>b[i]>>c[i];  
    } 
    int s[n];
    for(int i=0;i<n;i++)
    {
        s[i]=a[i]+b[i]+c[i];
    }
    int f[n];
    for(int i=0;i<n;i++)
    {
        f[i]=i+1;
    }
    for(int j=0;j<n;j++)
    {
        for(int i=0;i<n-1;i++)
        {
            if(s[i]<s[i+1])
            {
                temp=s[i];
                s[i]=s[i+1];
                s[i+1]=temp;
                temp=f[i];
                f[i]=f[i+1];
                f[i+1]=temp;
            }
        }
    }
    for(int i=0;i<5;i++)
    {
        cout<<f[i]<<" "<<s[i]<<endl;
    }
return 0;
}

by 自由の宠儿、 @ 2018-10-05 20:34:05

我的思路是定义数组为学号,定义数组为总成绩,然后冒泡一一排序,最后输出..


by 霹雳搅屎棍 @ 2018-10-05 20:35:07

@自由の宠儿、 WTF?


by 霹雳搅屎棍 @ 2018-10-05 20:35:39

@自由の宠儿、 这不是道纯模拟吗……


by 霹雳搅屎棍 @ 2018-10-05 20:36:09

我的AC代码,可以参考一下

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
struct student{
    int num;
    int chn;
    int tot;
}stu[1008];
inline bool cmp(student a,student b){
    if(a.tot!=b.tot)
        return a.tot>b.tot;
    if(a.chn!=b.chn)
        return a.chn>b.chn;
    return a.num<b.num;
}
int n;
int main(int argc, char** argv) {
    scanf("%d",&n);
    for(int i=1,math,eng;i<=n;i++){
        scanf("%d%d%d",&stu[i].chn,&math,&eng);
        stu[i].num=i;
        stu[i].tot=stu[i].chn+math+eng;
    }
    sort(stu+1,stu+n+1,cmp);
    if(n<5)
        for(int i=1;i<=n;i++)
            printf("%d %d\n",stu[i].num,stu[i].tot);
    else 
        for(int i=1;i<=5;i++)
            printf("%d %d\n",stu[i].num,stu[i].tot);
    return 0;
}

by 霹雳搅屎棍 @ 2018-10-05 20:36:51

@自由の宠儿、 问题之一是在main()里开数组,所以爆栈


by 霹雳搅屎棍 @ 2018-10-05 20:38:23

@自由の宠儿、 思路没啥问题吧……


by 自由の宠儿、 @ 2018-10-05 20:40:40

@霹雳搅屎棍 谢谢..


by 霹雳搅屎棍 @ 2018-10-06 07:49:25

@自由の宠儿、 emm
没事


by Lance1ot @ 2018-10-18 19:25:06

吓死

以为一个人在自言自语呢


|