代码如下
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
//lion heart
//into the new world
//61s
//you are my celebrity
//Park Jiyeon
//Lim yoona
int main() {
string a, b;
int ans = 0;
cin >> a >> b;
if(a==b){
int tmp=0;
for (int i = 0; i < 4; i++) {
if (a[i] == a[7 - i]) { tmp++; continue; }
else break;
}
if (tmp == 4)ans++;
if(ans){cout<<1;return 0;}
else {cout<<0;return 0;}
}
while (a != b) {
int tmp = 0;
int isrunnian = 0;
int m1 = 0, m2 = 0, m3 = 0;
for (int i = 0; i < 4; i++) {
if (a[i] == a[7 - i]) { tmp++; continue; }
else break;
}
if (tmp == 4)ans++;
int y = (a[0] - '0') * 1000 + (a[1] - '0') * 100 + (a[2] - '0') * 10 + (a[3] - '0');
int m = (a[4] - '0') * 10 + (a[5] - '0');
int d = (a[6] - '0') * 10 + (a[7] - '0');
if (m == 12 && d == 31) {
y++;
a[0] = y / 1000 % 10 + '0';
a[1] = y / 100 % 10 + '0';
a[2] = y / 10 % 10 + '0';
a[3] = y % 10 + '0';
a[4] = '0', a[5] = '1', a[6] = '0', a[7] = '1';
}
if (!y % 400 || (y % 100 && !y % 4))isrunnian = 1;
else isrunnian=0;
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)m1 = 1;
else if (m == 2)m3 = 1;
else m2 = 1;
if (m1) { if (d < 31) { d++; a[6] = d / 10 % 10 + '0'; a[7] = d / 10 + '0'; } else { a[6] = 0 + '0'; a[7] = 1 + '0'; m++; a[4] = m / 10 % 10 + '0', a[5] = m % 10 + '0'; } }
if (m2) { if (d < 30) { d++; a[6] = d / 10 % 10 + '0'; a[7] = d / 10 + '0'; } else { a[6] = 0 + '0'; a[7] = 1 + '0'; m++; a[4] = m / 10 % 10 + '0', a[5] = m % 10 + '0';
} }
if (m3) { if (isrunnian) { if (d < 29) { d++; a[6] = d / 10 % 10 + '0'; a[7] = d / 10 + '0'; } else { a[6] = 0 + '0'; a[7] = 1 + '0'; m++; a[4] = m / 10 % 10 + '0', a[5] = m % 10 + '0';
} } else { if (m1) { if (d < 28) { d++; a[6] = d / 10 % 10 + '0'; a[7] = d / 10 + '0'; } else { a[6] = 0 + '0'; a[7] = 1 + '0'; m++; a[4] = m / 10 % 10 + '0', a[5] = m % 10 + '0';
} } } }
}
cout << ans;
return 0;
}