自己测试数据点9对了,评测就是错那个点
查看原帖
自己测试数据点9对了,评测就是错那个点
386712
liangjiahao0331楼主2021/3/9 16:38
#include<bits/stdc++.h>
using namespace std;
int n,all;
struct point {
	string name;
	int qp,bp,lw;
	char gb,xb;
	int sum;
};
int main()
{
 cin>>n;
 int i;
 point a[1000],up;
 up.sum=0;
 for(i=1;i<=n;++i)
  cin>>a[i].name>>a[i].qp>>a[i].bp>>a[i].gb>>a[i].xb>>a[i].lw;
  // cout<<endl<<a[i].name<<" "<<a[i].qp<<" "<<a[i].bp<<" "<<a[i].gb<<" "<<a[i].xb<<" "<<a[i].lw<<endl;
 for(i=1;i<=n;++i)
 {
  a[i].sum=0;
  if(a[i].qp>80&&a[i].lw>=1) a[i].sum+=8000;
  if(a[i].qp>85&&a[i].bp>80) a[i].sum+=4000;
  if(a[i].qp>90) a[i].sum+=2000;
  if(a[i].qp>85&&a[i].xb=='Y') a[i].sum+=1000;
  if(a[i].gb=='Y'&&a[i].bp>80) a[i].sum+=850;
  all+=a[i].sum;
 }
 for(i=1;i<=n;++i)
 if(up.sum<a[i].sum) swap(up,a[i]);
 else if(up.sum==a[i].sum) if(a[i].name<up.name) swap(up,a[i]);
 cout<<up.name<<endl<<up.sum<<endl<<all;
}

测试了n遍都是正确答案,提交了n遍也是这个点错

2021/3/9 16:38
加载中...