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

P1093 [NOIP2007 普及组] 奖学金

自由の宠儿、 @ 2018-10-05 20:30:16

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; }1.


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

为什么放出来这么乱...


by Purple_sword @ 2018-10-05 20:31:19

希望更丰富的展现?使用Markdown

by Purple_sword @ 2018-10-05 20:32:27

@自由の宠儿、 这里


by 大壶 @ 2018-10-05 20:32:55

#include<bits/stdc++.h>
using namespace std;
struct nnn
{
    int a,b,l;//总 语 号
};
nnn x[300]; 
bool cmp(nnn a,nnn b)
{
    if(a.a>b.a) return 1;
    else if(a.a<b.a) return 0;
    else
    {
        if(a.b>b.b) return 1;
        else if(a.b<b.b) return 0;
        else
        {
            if(a.l>b.l) return 0;
            else return 1;
        }
    }
}
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        int h,j,k;
        cin>>h>>j>>k;
        x[i].a=h+j+k;
        x[i].b=h;
        x[i].l=i;
    }
    sort(x,x+n,cmp);
    for(int i=0;i<5;i++) cout<<x[i].l+1<<' '<<x[i].a<<endl;
    return 0;
}

你理解一下


|