WHY
查看原帖
WHY
975630
woyaoAKIOI0924PTY楼主2024/10/19 16:38

P2010 [NOIP2016 普及组] 回文日期

#include<bits/stdc++.h>
#define int long long
using namespace std;
int l,r,sum;
int CE(int nian,int yue)
{
	if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)
		return 31;
	if(yue==4||yue==6||yue==9||yue==11)
		return 30;
	if(yue%4==0&&yue%100!=0)	
		return 29;
	if(yue%400==0)
		return 29;
	return 28;
}
int OLE(int nian,int yue,int ri)
{
	if(yue>12||yue<1)
		return 0;
	int day=CE(nian,yue);
	if(ri>day||ri<1)
		return 0;
	return 1;
}
signed main()
{
	//freopen("date.in","r",stdin);
	//freopen("date.out","w",stdout);
	cin>>l>>r;
	for(int i=l/10000;i<=r/10000;++i)
	{
		int ge=i/1%10;
		int shi=i/10%10;
		int bai=i/100%10;
		int qian=i/1000%10;
		int yue=ge*10+shi;
		int ri=bai*10+qian;
		if(OLE(i,yue,ri)==0)
			continue;
		if(i*10000+yue*100+ri<l||i*10000+yue*100+ri>r)
			continue;
		sum++;
	}
	cout<<sum;
	return 0;
}

2024/10/19 16:38
加载中...