题目:P2010(是我出生日期诶)自行跳转[诶嘿]
#include <bits/stdc++.h>
using namespace std;
int l,r,a,b,x,yf,rq,t[15]{31,29,31,30,31,30,31,31,30,31,30,31},cnt,hw;
inline int dz(int n)
{
int nn;
for(int i = 1;i<=4;i++)
{
nn=n%10+nn*10;
n/=10;
}
return nn;
}
int main()
{
cin>>a>>b;
l=a/10000;
r=b/10000;
for(int i=l;i<=r;i++)
{
x=dz(i);
yf=x/100;
rq=x%100;
if(yf>=1&&yf<=12)
{
if(rq<=t[yf])
{
hw=i*10000+x;
if(hw>=a&&hw<=b)
{
++cnt;
}
}
}
}
cout<<cnt;
return 0;
}
每次只有60分,不知道有没有能改进的。想法是,枚举每一年的回文年,检验是否合法,用cnt记录。