求调!回者必关
查看原帖
求调!回者必关
1283023
liumoumou_haha楼主2024/11/30 16:23
#include<bits/stdc++.h>
using namespace std;
const int N = 105;
int n;
struct stu
{
	string name;
	int q,b,f,ans,id;
	char x,y;
}a[N];
bool w(stu x)
{
	if(x.q > 80 && x.f >= 1) return 1;
	else return 0;
}
bool s(stu x)
{
	if(x.q > 85 && x.b > 80) return 1;
	else return 0;
}
bool c(stu x)
{
	if(x.q > 90) return 1;
	else return 0;
}
bool j(stu n)
{
	if(n.q > 85 && n.x == 'Y') return 1;
	else 0;
}
bool d(stu x)
{
	if(x.b > 80 && x.y == 'Y') return 1;
	else return 0;
}
bool cmp(stu a,stu b)
{
	if(a.ans == b.ans)
	{
		return a.id < b.id;
	}
	return a.ans > b.ans;
}
int main()
{
	int number = 0;
	cin >> n;
	for(int i=1; i<=n; i++)
	{
		cin >> a[i].name >> a[i].q >> a[i].b >> a[i].x >> a[i].y >> a[i].f;
		a[i].id = i;
		if(w(a[i]) == 1) a[i].ans += 8000;
		if(s(a[i]) == 1) a[i].ans += 4000;
		if(c(a[i]) == 1) a[i].ans += 2000;
		if(j(a[i]) == 1) a[i].ans += 1000;
		if(d(a[i]) == 1) a[i].ans += 850; 
		number += a[i].ans; 
		cout << number << endl;
	}
	sort(a+1,a+1+n,cmp);
	cout << a[1].name << endl << a[1].ans << endl << number;
	return 0;
}
2024/11/30 16:23
加载中...