luogu1051 谁拿了最多奖学金

https://www.luogu.com.cn/problem/P1051

1.用cin输入字符串,省事

#include<bits/stdc++.h>
using namespace std;

struct stu{
    int num;
    string name;
    int score;
    int pyscore; 
    char gb;
    char xb;
    int lw;
    int tot;
};

struct stu a[110]; 

bool cmp(stu x,stu y)
{
    if (x.tot!=y.tot)
    return x.tot>y.tot;
    else x.num<y.num;
}
int main(){
    int n;
    cin>>n;
    int cnt=0;
    for(int i=0;i<n;i++){
        a[i].num=i;
        cin>>a[i].name>>a[i].score>>a[i].pyscore>>a[i].gb>>a[i].xb>>a[i].lw;
        if(a[i].score>80&&a[i].lw>0) a[i].tot+=8000;
        if(a[i].score>85&&a[i].pyscore>80) a[i].tot+=4000;
        if(a[i].score>90) a[i].tot+=2000;
        if(a[i].score>85&&a[i].xb=='Y') a[i].tot+=1000;
        if(a[i].pyscore>80&&a[i].gb=='Y') a[i].tot+=850;
        cnt+=a[i].tot;
    }
    sort(a,a+n,cmp);
    cout<<a[0].name<<endl;
    cout<<a[0].tot<<endl;
    cout<<cnt<<endl;
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/cyfe67373/p/12419766.html