求助

P1104 生日

@[wei345](/user/1142251) 给你改的,但是不是你的思路 ``` #include<iostream> #include<algorithm> using namespace std; struct St{ string s; int y,m,d; }a[110]; int cmp(St a,St b){ if(a.y<b.y) return 1; else if(a.y==b.y){ if(a.m<b.m) return 1; else if(a.m==b.m){ if(a.d<b.d) return 1; else if(a.d==b.d){ if(a.s>b.s){ return 1; } return 0; } return 0; } return 0; } return 0; } int n; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].s>>a[i].y>>a[i].m>>a[i].d; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++){ cout<<a[i].s<<endl; } return 0; } ```
by liuzilin114514 @ 2024-02-18 19:42:59


@[wei345](/user/1142251) 不懂再找我
by liuzilin114514 @ 2024-02-18 19:43:33


@[wei345](/user/1142251) 用冒泡试试。
by danlao @ 2024-02-18 19:48:43


@[yaodiguoan](/user/1023793) 冒泡比sort麻烦
by liuzilin114514 @ 2024-02-18 19:53:59


@[liuzilin114514](/user/1191010) 但我有时用 `sort` 排序结构体,结果很容易出bag,换成冒泡就可以了。
by danlao @ 2024-02-18 19:57:04


@[yaodiguoan](/user/1023793) sort还有bug?
by liuzilin114514 @ 2024-02-18 20:00:47


@[liuzilin114514](/user/1191010) 我把那道题找出来看看。
by danlao @ 2024-02-18 20:01:33


@[yaodiguoan](/user/1023793) 但这道题我用sortAC了
by liuzilin114514 @ 2024-02-18 20:01:38


@[yaodiguoan](/user/1023793) OK
by liuzilin114514 @ 2024-02-18 20:03:03


@[liuzilin114514](/user/1191010) @[wei345](/user/1142251) 等一下我找到问题了,题目说“如果有两个同学生日相同,输入靠后的同学先输出”,他这里好像是靠前?
by danlao @ 2024-02-18 20:04:26


| 下一页