我不知道为什么这个reverse没有起到翻转相同日期的作用
  • 板块P1104 生日
  • 楼主fxsnbfx
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/9 18:31
  • 上次更新2024/8/9 19:49:48
查看原帖
我不知道为什么这个reverse没有起到翻转相同日期的作用
1284636
fxsnbfx楼主2024/8/9 18:31
#include<bits/stdc++.h>
using namespace std;
const int N=110;
struct student{
	string s;
	int y,m,d;
}stu[N];
bool cmp(struct student a,struct student b)
{
	if(a.y!=b.y)
	return a.y<b.y;
	else
	{
		if(a.m!=b.m)
		return a.m<b.m;
		else
		{
			return a.d<b.d;
		}
	}
}
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>stu[i].s>>stu[i].y>>stu[i].m>>stu[i].d;
	}
	sort(stu+1,stu+1+n,cmp);
	int l=1,r=0;
	for(int i=1;i<n;i++)
	{
		if(stu[i].y==stu[i+1].y&&stu[i].m==stu[i+1].m&&stu[i].d==stu[i+1].d)
		r+=1;
		else
		{
			reverse(stu+l,stu+l+r);
			l=i+1;
			r=0;
		}
	}
	for(int i=1;i<=n;i++)
	{
		cout<<stu[i].s<<endl;
	}
	return 0;
}
2024/8/9 18:31
加载中...