本以为要判断闰年然后遍历a~b的每一个日期看看是不是回文日期但是很麻烦
比较好的思路就是通过月日来构造出年份,为什么可以这样做,如果是回文日期
那么年份必然是月日反过来,所以构造出年+月+日看看是不是在a,b之间,还有个疑问就是
data[2]为什么是29而不是28,难道不用判断闰年吗?92200229只有这一个,恰好9220又是闰年
#include <iostream>
using namespace std;

int main() {
    int a,b;
    cin>>a>>b;
    int ans=0;
    int data[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
    for(int i=1;i<13;i++){
        for(int j=1;j<=data[i];j++){
            int res=(j%10)*1e7+(j/10)*1e6+(i%10)*1e5+(i/10)*1e4+i*100+j;
            if(res>=a&&res<=b)ans++;
        }
    }
    cout<<ans;
}
// 64 位输出请用 printf("%lld")