记录编号 |
360177 |
评测结果 |
WWWAWWAWWA |
题目名称 |
[NOIP 2005]谁拿了最多奖学金 |
最终得分 |
30 |
用户昵称 |
爆零自动机 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.004 s |
提交时间 |
2016-12-27 16:59:06 |
内存使用 |
0.32 MiB |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
const int maxn=100+10;
struct man
{
char name[20+5];
int qime;
int ping;
bool ganbu;
bool xibu;
int lunwen;
int jiang;
};
man a[maxn];
char bo;
int maxj,cnt,re;
bool ys(man a);//8000
bool ws(man a);//4000
bool cj(man a);//2000
bool xb(man a);//1000
bool bj(man a);//850
int n;
int main()
{
freopen("scholar.in","r",stdin);
freopen("scholar.out","w",stdout);
cin>>n;
for(int i=0; i<n; i++)
{
cin>>a[i].name;
cin>>a[i].qime;
cin>>a[i].ping;
cin>>bo; if(bo=='Y') a[i].ganbu=true;
cin>>bo; if(bo=='Y') a[i].xibu=true;
cin>>a[i].lunwen;
/*cout<<a[i].name<<endl;
cout<<a[i].qime<<endl;
cout<<a[i].ping<<endl;
if(a[i].ganbu) cout<<'Y'<<endl;
else cout<<'N'<<endl;
if(a[i].xibu) cout<<'Y'<<endl;
else cout<<'N'<<endl;
cout<<a[i].lunwen<<endl;
cout<<endl;*/
}
for(int i=0; i<n; i++)
{
if(ys(a[i])==true) a[i].jiang+=8000;
if(ws(a[i])==true) a[i].jiang+=4000;
if(cj(a[i])==true) a[i].jiang+=2000;
if(xb(a[i])==true) a[i].jiang+=1000;
if(bj(a[i])==true) a[i].jiang+=850;
}
for(int i=0; i<n; i++)
{
if(a[i].jiang>maxj)
{
maxj=a[i].jiang;
re=i;
}
cnt+=a[i].jiang;
}
cout<<a[re].name<<endl;
cout<<a[re].jiang<<endl;
cout<<cnt<<endl;
return 0;
}
bool ys(man a)//8000
{
if(a.qime>80 && a.lunwen>=1) return true;
return false;
}
bool ws(man a)//4000
{
if(a.qime>85 && a.ping>80) return true;
return false;
}
bool cj(man a)//2000
{
if(a.qime>90) return true;
return false;
}
bool xb(man a)//1000
{
if(a.qime>85 && a.xibu) return true;
return false;
}
bool bj(man a)//850
{
if(a.qime>80 && a.ganbu) return true;
return false;
}