本蒟蒻A了这道题,但仍有疑惑

P5740 【深基7.例9】最厉害的学生

coder_1746 @ 2022-06-05 13:10:14

RT,一开始交90分,WA第一点。源码↓

#include<bits/stdc++.h>
using namespace std;
int n,chinese,maths,english,total=0,temp=0;
int T[3];
string name,name2;
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>name>>chinese>>maths>>english;
        temp=chinese+maths+english;
        if(temp>total){
            total=temp;
            T[0]=chinese;
            T[1]=maths;
            T[2]=english;
            name2=name;
        }       
    }
    cout<<name2<<" "<<T[0]<<" "<<T[1]<<" "<<T[2];
    return 0;
}

之后听了大牛的意见,把三门学科初始总分改成了-100就过了。源码↓

#include<bits/stdc++.h>
using namespace std;
int n,chinese=-100,maths=-100,english=-100,total=-100,temp=0;
int T[3];
string name,name2;
int main(){
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>name>>chinese>>maths>>english;
        temp=chinese+maths+english;
        if(temp>total){
            total=temp;
            T[0]=chinese;
            T[1]=maths;
            T[2]=english;
            name2=name;
        }       
    }
    cout<<name2<<" "<<T[0]<<" "<<T[1]<<" "<<T[2];
    return 0;
}

所以改了一下就过了,这是啥原因...


by yuer_qwq @ 2022-06-05 13:11:17

6635我求求你别卷了行不...


by coder_1746 @ 2022-06-05 13:13:51

@chenyuer 布行,我不行

另外说句闲话,研究卷王的最好方法是...祝你们A了这道题


by MCRS_lizi @ 2022-06-05 13:14:33

因为如果初始总分为0,而且每个人总分都是0的话答案就不会被更新,最后输出的就是初始值,改成-100就一定会被更新,所以没问题


by yuer_qwq @ 2022-06-05 13:15:20

@coder_1746 下次可以把标题改为......你前面说的那句话


by coder_1746 @ 2022-06-05 13:16:13

@MCRS_lizi emm,感谢


by coder_1746 @ 2022-06-05 13:16:33

@MCRS_lizi 已关


by MCRS_lizi @ 2022-06-05 13:19:20

@coder_1746 互关了QAQ


by wangxuanrui13 @ 2022-07-11 18:45:14

居然有人和我提一样的问题,感谢楼主的提问


|