全WA求助

P1104 生日

false应该改为true吧... (出生日越小岁数更大)
by KDL_ANIPLEX @ 2023-07-03 15:40:31


# 下次询问前自己先用样例试试 1.没换行 2.输出顺序反了 最后应改为: ```cpp for(int i=n-1;i>=0;i--) { cout<<oi[i].name<<endl; } ``` 这是最明显的两个错误 此外你都用结构体了,完全没必要用 ```cpp oi[i].sr=oi[i].sr_1*365+oi[i].sr_2*30+oi[i].sr; ``` 也可以不用冒泡换(自认为)更好用的sort(缺点:快排不稳定,最好手写cmp),然后自定义cmp或者重载运算符 我在你基础上改的AC代码: ```cpp #include<bits/stdc++.h> using namespace std; struct stu { string name; int sr_1,sr_2,sr_3; int level; bool operator <(stu b) { if(sr_1!=b.sr_1) return sr_1>b.sr_1; if(sr_2!=b.sr_2) return sr_2>b.sr_2; if(sr_3!=b.sr_3) return sr_3>b.sr_3; return level<b.level; } }oi[100]; int main() { int n; cin>>n; for(int i=0;i<n;i++) { cin>>oi[i].name>>oi[i].sr_1>>oi[i].sr_2>>oi[i].sr_3; oi[i].level=i; } sort(oi,oi+n); for(int i=n-1;i>=0;i--) { cout<<oi[i].name<<endl; } return 0; } ```
by kk1501201 @ 2023-07-03 15:40:31


@[zsjaaaxy](/user/953660) 你要是这么写,计算总日期的时候得判断是哪个月,是否是闰年,但凡有点常识都会知道,所以你得把那个改了,而且你也可以直接在结构体重载小于号,求出值之后sort一变就行
by calm_alone @ 2023-07-03 15:43:13


对不起 我疏忽了 谢谢 @[calm_alone](/user/811226) @[kk1501201](/user/259625) @[XiaoKaiWen1](/user/975287) 此贴结(验证码 2b4n 祭)
by zsjaaaxyzgfwpl1314 @ 2023-07-03 15:46:14


|