社区讨论
30分,为什么总成绩算不对???
P1051[NOIP 2005 提高组] 谁拿了最多奖学金参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m4o6nr4j
- 此快照首次捕获于
- 2024/12/14 20:58 去年
- 此快照最后确认于
- 2025/11/04 12:51 4 个月前
用的是结构体 + sort排序,烦请各位大佬看一下。
CPP#include <bits/stdc++.h>
using namespace std;
struct tmp
{
int sum = 0;
int qimo_chengji = 0;
int banji_chengji = 0;
string is_xuesheng;
string xibu;
int lunwen = 0;
int num = 0;
string name;
}a[1000000];
bool cmp(tmp x, tmp y)
{
if (x.sum != y.sum) return x.sum > y.sum;
else
{
return x.num < y.num;
}
}
int main()
{
int n;
cin >> n;
long long z = 0;
for (int i = 1; i <= n; i++) cin >> a[i].name >> a[i].qimo_chengji >> a[i].banji_chengji >> a[i].is_xuesheng >> a[i].xibu >> a[i].lunwen;
for (int i = 1; i <= n; i++)
{
a[i].num = i;
if (a[i].qimo_chengji > 80 && a[i].lunwen >= 1) a[i].sum += 8000;
if (a[i].qimo_chengji > 85 && a[i].banji_chengji > 80) a[i].sum += 4000;
if (a[i].qimo_chengji > 90) a[i].sum += 2000;
if (a[i].qimo_chengji > 85 && a[i].xibu == "Y") a[i].sum += 1000;
if (a[i].qimo_chengji > 80 && a[i].is_xuesheng == "Y") a[i].sum += 850;
}
sort(a + 1, a + n + 1, cmp);
for (int i = 1;i <= n; i++) z += a[i].sum;
cout << a[1].name << endl << a[1].sum << endl << z << endl;
return 0;
}
测试样例2:
CPP100
KSSHsCEhNHXIMxnKjszE 93 98 N Y 0
KRXBnwAzDGjpfJgRpKt 95 90 Y Y 0
JBOyaqxicVGB 96 84 N Y 0
HolSWzxphdbM 99 80 Y Y 0
YzYKojgqgraUpqNyJ 95 90 N N 0
LgX 97 94 Y Y 0
HCRuZbWsSDgkOEoj 80 90 N Y 0
S 85 89 N Y 10
AdLhdCBxwmJXRm 78 97 Y N 0
QhgGp 85 87 Y N 0
ZFTdFawbiwDG 87 80 N Y 0
JaOThlpkrRkejXMMXgbu 95 80 Y Y 0
NiAntWp 85 91 Y N 0
Te 81 81 Y Y 0
TrFXiYBMzJ 92 87 N N 0
MlhsUsruSKdrAGkUerE 97 92 Y Y 0
NWpjgxcNegmyEGHlPTP 88 94 N N 5
VCXJjomOzywFZBVkDR 87 75 Y N 0
PxZYNvXNdbUtBIp 82 75 N Y 0
TsJkMpF 85 99 N Y 0
BwaIeOrqdatudl 85 80 N N 0
IB 95 90 Y N 0
HmPorGeOs 98 85 Y N 0
DgRHzC 87 82 Y N 0
WkRmkErigra 90 75 Y N 0
MZdQ 85 78 N N 0
NIrWcjt 81 95 Y N 0
MQBfcr 85 80 Y N 0
IXrLPdJhEekBRgsbkqI 95 85 Y Y 6
MWAd 89 75 Y N 0
BVYqUBdV 76 79 Y Y 0
NhmSyMnvHxUkjye 79 90 Y N 0
NUPyQqEhklWtWxeIz 80 95 Y N 0
NsQbL 95 86 N N 0
KEKFcpbDWQXUsQTXvFbs 95 95 N N 0
ZzjJWy 90 80 N Y 3
TOWFblEWAuVgAxdHt 95 100 N N 0
HRYFlarRQhe 100 90 N N 0
SGUCaHJVg 95 87 Y Y 0
CsNEZwUWERVFFxLsdyK 85 94 N N 0
PZhrRpBMpm 80 85 Y N 0
LsyePjMaoonOscyyUQY 82 98 Y Y 0
SkPGcYDnYyIp 95 90 N N 0
OaV 90 90 Y N 0
W 75 90 Y N 0
TJjZwq 85 75 Y Y 0
PVFVBEocVjjpg 90 88 N N 0
HMJecx 85 100 N Y 0
PvgXSkNZQNcfJrgTzgm 90 75 N Y 0
VnVXCwwJdbrusXG 89 95 Y N 0
BNziq 95 76 Y Y 0
MNjzTqMCtx 85 95 N N 0
UihwjdZaUXWuMsytRtN 90 88 Y N 7
HdXkkOHRQoG 93 85 Y N 0
DHDAFValkXKFYjznnn 75 100 N N 0
JskIgwiNH 85 85 Y N 0
SeYSBFuVQaEUXwf 75 80 N Y 0
XfGMOTDT 82 75 Y Y 0
GnGatTgZBPgj 90 90 N N 0
K 85 80 Y Y 0
KRJVphYKwQTOMc 95 85 N N 0
DFWtLGoFLXHptkI 75 92 N Y 0
CayHZQXpTpyFPSuJz 87 76 N Y 0
RRlRboFqAgLvzrJ 89 75 N Y 4
DbWHykSi 85 84 N Y 0
WQHneRqIh 90 82 Y N 0
BhGejmW 90 93 Y N 0
AFEEic 95 80 Y N 0
MXhBgPj 96 98 Y Y 0
WJsSWOCR 77 85 Y Y 0
A 79 82 N N 0
Wy 95 85 Y Y 0
OtgBaCKAVmMEFxPVcbE 84 75 N Y 0
DnBaraTLVBkPJJj 85 75 Y N 0
Kzir 84 75 Y Y 0
PxCMvWOdyZcRW 90 76 N N 0
ZcztKxXsrhqSDuxBeN 80 84 N Y 0
EesxZKSACX 80 87 N N 0
CvCT 75 85 N N 0
UwrgH 76 80 Y N 0
VwcGoYzhhVFWGyFzjdn 78 90 N N 0
KQ 75 100 N Y 0
MHJszTi 95 79 Y Y 0
BPJXuWxsGGNYz 87 92 Y Y 5
XWWpW 96 92 Y Y 6
GKIdgeGTHWd 80 77 Y Y 0
MeGS 88 75 N N 0
SblEZfNCkGAkRSrzFADB 90 88 N Y 0
BGLYzCxFVARuGu 87 75 N Y 0
WMQkzgUafGBnqiuBgRpn 77 75 N Y 0
LIWndzmjDozIMTu 80 94 N Y 0
LsPuNFjIzCcppis 80 80 Y N 0
JgycuqAJHELopIoZm 87 85 Y N 0
UJmFKI 75 90 N N 0
RdvGLr 95 85 Y Y 0
WVsTKZHjDEc 90 85 N N 0
VvtFQcwAErUIru 85 87 N Y 0
JKTcYDOhBIJdTBG 94 85 Y N 0
VJqtvLWNUdTEypjOCB 85 94 N Y 0
ET 80 80 N N 2
测试答案2:
CPPIXrLPdJhEekBRgsbkqI
15850
315050
我的答案:
CPPIXrLPdJhEekBRgsbkqI
15850
321850
十分感谢大家,感谢各位大佬!
回复
共 2 条回复,欢迎继续交流。
正在加载回复...