错最后三个测试点的代码
#include<bits/stdc++.h>
using namespace std;
int a, b, sum = 0;
int d[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main(){
int nian1, nian2;
cin >> a >> b;
nian1 = a / 10000;
nian2 = b / 10000;
for(int i = nian1; i <= nian2; i++){
d[4] = 28;
int y, r;
int c = (i % 10) * 1000 + (i / 10 % 10) * 100 + (i / 100 % 10) * 10 + i / 1000;
int huiwen = i * 10000 + c;
y = c / 100;
r = c % 100;
if(a == b && huiwen == a){
sum++;
break;
}
if(y <= 12 && y > 0){
if(i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)){
d[4] = 29;
}
if(r <= d[y] && r > 0) sum++;
}
}
cout << sum;
return 0;
}