1 solutions
-
0
这题先循环判断,用结构体排序后输出。
#include <bits/stdc++.h> using namespace std; int n, sum; struct note { string name; char c, d; int a, b, e, ans, id; } a[105]; bool cmp(note x, note y) { if (x.ans != y.ans) { return x.ans > y.ans; } return x.id < y.id; } int main() { cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i].name >> a[i].a >> a[i].b >> a[i].c >> a[i].d >> a[i].e; a[i].id = i; if (a[i].a > 80 && a[i].e >= 1) { a[i].ans += 8000; sum += 8000; } if (a[i].a > 85 && a[i].b > 80) { a[i].ans += 4000; sum += 4000; } if (a[i].a > 90) { a[i].ans += 2000; sum += 2000; } if (a[i].a > 85 && a[i].d == 'Y') { a[i].ans += 1000; sum += 1000; } if (a[i].b > 80 && a[i].c == 'Y') { a[i].ans += 850; sum += 850; } } sort(a + 1, a + n + 1, cmp); cout << a[1].name << endl << a[1].ans << endl << sum; return 0; } //4 //YaoLin 87 82 Y N 0 //ChenRuiyi 88 78 N Y 1 //LiXin 92 88 N N 0 //ZhangQin 83 87 Y N 1 //ChenRuiyi //9000 //28700
- 1
Information
- ID
- 485
- Time
- 1000ms
- Memory
- 125MiB
- Difficulty
- 10
- Tags
- # Submissions
- 5
- Accepted
- 4
- Uploaded By