80分求助

P1104 生日

你看看我的代码,参考一下吧 ``` #include<bits/stdc++.h> using namespace std; int main(){ string name[150]; int y[150],m[150],d[150],num[150]; int n,i,j; cin>>n; for(i=1;i<=n;i++) cin>>name[i]>>y[i]>>m[i]>>d[i]; for(i=1;i<=n;i++){ for(j=i+1;j<=n;j++){ num[i]=i; num[j]=j+1; if(y[i]>y[j] || (y[i]==y[j]&&m[i]>m[j]) || (y[i]==y[j]&&m[i]==m[j]&&d[i]>d[j])){ swap(name[i],name[j]); swap(y[i],y[j]); swap(m[i],m[j]); swap(d[i],d[j]); } if(y[i]==y[j]&&m[i]==m[j]&&d[i]==d[j]){ if(num[i]< num[j]) swap(name[i],name[j]); swap(y[i],y[j]); swap(m[i],m[j]); swap(d[i],d[j]); } } } for(i=1;i<=n;i++) cout<<name[i]<<endl; return 0; }
by 昊轩啥也不是 @ 2021-10-05 09:08:38


@[昊轩啥也不是](/user/506649) 就是要给一个初始编号吗?
by Stonkin @ 2021-10-05 10:47:47


@[西住真穗](/user/407007) 是的,但记住带编号时,判断年龄大小而swap时,也要swap编号
by 昊轩啥也不是 @ 2021-10-05 11:51:17


@[西住真穗](/user/407007) 不能只换出生日期不换编号,不然会wa
by 昊轩啥也不是 @ 2021-10-05 11:52:08


@[昊轩啥也不是](/user/506649) 谢谢
by Stonkin @ 2021-10-05 14:05:27


|