十分SB的一道题
我刚开始真就一天一天往前推,结果TM超时了;
还写了70行......
去看题解发现其实回文日期很少,我们可以枚举回文日期并判断他们是否在范围内.
由于月日限制比年份多,所以枚举月日并将它们回文处理.....
而且还不需要判闰年,因为0229的反串是9220,而9220是闰年.直接calendar中写29就行了.
然后应该是一个超快的跑速.....把逐个推按在地上打
我好菜啊啊啊啊啊啊啊啊啊啊啊啊
#include<bits/stdc++.h> using namespace std ; int calen[13]={-1,31,29,31,30,31,30,31,31,30,31,30,31}; int a,b,year,ans; int main(){ cin>>a>>b; for(int i=1;i<=12;i++){ for(int j=1;j<=calen[i];j++){ int now = i*100 + j; int who = now;year = 0; while(who){ year=year*10+who%10; who/=10; } if(now<1000) year*=10; now += year * 10000; // cout<<now<<endl; if(now>=a && now<=b) ans++; } } cout<<ans<<endl; return 0; }
TAG:SIN_XIII ⑨