@[Deity_Satan](/user/816528)
你这个代码错误的还是挺多的:(下面列举一下,不过多错点是好事,记住错误,下次就会再错了)
1 没有写``return 0``。
2 您的倒数第四行会导致您的代码形成死循环。
3 您没有考虑到题目中的 如果有两个同学生日相同,输入靠后的同学先输出 这句话。
如果您必须要这么从大到小枚举 ``i`` 吧,那么我建议您将您的 ``cmp`` 函数换一下,具体请看下面这个:
```cpp
bool cmp(dd a,dd b){
if(a.y==b.y){
if(a.m==b.m){
if(a.d!=b.d)return a.d>b.d;
return a.place<b.place;
}
return a.m>b.m;
}
return a.y>b.y;
}
```
另外,这个 ``place`` 变量是这个数当前所处的位置。
只需要在每次输入的时候记录位置就可以了。
[AC记录](https://www.luogu.com.cn/record/121942936)
by zk_y @ 2023-08-20 16:54:20
@[zhangkeyuan0623](/user/792089) 万分感谢神犇!!!
by Deity_Satan @ 2023-08-20 18:04:03
@[Deity_Satan](/user/816528) 没事
by zk_y @ 2023-08-20 19:26:54