2021-02-10
作者:互联网
poj1581
题目思路较为简单,需要注意的是对于时间总和的判断计算。
可是为什么vjudge它编不来呢。。。
如果我的代码有问题欢迎评论指导。
#include <iostream>
#include <string>
using namespace std;
using std :: string;
struct s{
string teamname;
int a[4] = {0},b[4] = {0},addtime = 0,addsub = 0;
};
int main()
{
int n;
cin>>n;
s str[n];
for(int i = 0;i != n;i++){
cin>>str[i].teamname;
for(int j = 0;j != 4;j++){
cin>>str[i].a[j]>>str[i].b[j];
if(str[i].a[j] != 0)
++str[i].addsub;
if(str[i].a[j] == 0);
else if(str[i].a[j] != 1)
str[i].addtime += (str[i].b[j] + (str[i].a[j] - 1) * 20);
else
str[i].addtime += str[i].b[j];
}
}
int maxi = 0, maxt = 0;
for(int i = 0;i != n;i++){
if(str[i].addsub > maxt){
maxt = str[i].addsub;
maxi = i;
}
else if(str[i].addsub == maxt){
if(str[i].addtime < str[maxi].addtime)
maxi = i;
else;
}
}
cout<<str[maxi].teamname<<" "<<str[maxi].addsub<<" "<<str[maxi].addtime<<endl;
return 0;
}
标签:02,10,int,addtime,maxt,maxi,2021,str,addsub 来源: https://blog.csdn.net/abyness/article/details/113786965