记录编号 461653 评测结果 AAAAAAAAAA
题目名称 [NOIP 2016PJ]回文日期 最终得分 100
用户昵称 Gravatar软软糖 是否通过 通过
代码语言 C++ 运行时间 0.005 s
提交时间 2017-10-20 10:51:29 内存使用 0.31 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int date1,date2,md1,md2,year1,year2,ans=0;
int find(int year,int mon,int day)
{
	if(mon==1||mon==3||mon==5||mon==7||mon==8||mon==10||mon==12)
		if(day<=31)
			return 1;
	if(mon==4||mon==6||mon==9||mon==11)
		if(day<=30)
			return 1;
	if(mon==2)
	{
		if(year%4==0&&year%100!=0)
			if(day<=29)
				return 1;
		if(year%400)
			if(day<=29)
				return 1;
		else
			if(day<=28)
				return 1;
	}
	return 0;
}
int main()
{
	freopen("datea.in","r",stdin);
	freopen("datea.out","w",stdout);
	cin>>date1;
    cin>>date2;
    year1=date1/10000; md1=date1%10000; 
    year2=date2/10000; md2=date2%10000;
    ans=0;
    for (int i=year1; i<=year2; i++)
    {
        int a1=i%10;
        int a2=(i%100)/10;
        int m=a1*10+a2;
        int a3=(i%1000)/100;
        int a4=i/1000;
        int d=a3*10+a4;    //d:?
        int md=m*100+d;
        if (find(i,m,d))
        {
            int date=i*10000+md;
            if (date1<=date&&date<=date2)  ans++;
         }
    }
    cout<<ans;
    return 0;
}