问题标题: 酷町堂:1550 祝福短信

1
0
已解决
程祺然
程祺然
初级光能
初级光能

1550 祝福短信

80分……╮(╯﹏╰)╭

错误代码:

#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
struct node{
	string name;
	int y,m,d;
}a[100010];
bool cmp(node a,node b){
	if(a.y!=b.y){
		return a.y>b.y;
	}
	if(a.y==b.y&&a.m!=b.m){
		return a.m>b.m;
	}
	return a.d>b.d;
}
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].name>>a[i].y>>a[i].m>>a[i].d;
	}
	sort(a+1,a+n+1,cmp);
	for(int i=n;i>=1;i--){
		cout<<a[i].name<<endl;
	}
	return 0;
}

求大佬解答!

20豆!

程祺然在2020-12-31 20:20:32追加了内容

了,大家随便回答,随机给出20酷町豆


0
0
程祺然
程祺然
初级光能
初级光能

@陈九林

@沈峻宇 

快来解答吧!!!!!!!

 

0
汪恺恒
汪恺恒
中级启示者
中级启示者

排序规则改一下

if(a.y!=b.y) return a.y<b.y;
if(a.m!=b.m) return a.m<b.m;
if(a.d!=b.d) return a.d<b.d;
return a.cnt>b.cnt;

输入时加一条

a[i].cnt=i;

望采纳!

(结构体要加int cnt)

0
0
我要回答