RT
#include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <string>
using namespace std;
int check(string mon, string da) { //检查回文数
int month = stoi(mon), day = stoi(da);
// cout << month << ' ' << day << endl;
if (month == 0 || month > 12)
return 0;
if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && day > 31)
return 0;
if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30)
return 0;
}
int year1, month1, day1;
int year2, month2, day2;
int sheng(string year4) {
string year3 = year4;
reverse(year3.begin(), year3.end());
string month, day;
month += year3[0];
month += year3[1];
day += year3[2];
day += year3[3];
// cout << "year3=" << year3 << ' ' << month << ' ' << day << endl;
if (!check(month, day)) {
return 0;
}
if (year4 == to_string(year1)) { //开判断
// cout << "ok" << endl;
if (stoi(month) >= month1 && stoi(day) >= day1) {
return 1;
} else {
return 0;
}
} else if (year4 == to_string(year2)) {
if (stoi(month) <= month2 && stoi(day) <= day2) {
return 1;
} else {
return 0;
}
} else {
return 1;
}
}
int sum = 0;
int main() {
scanf("%4d%2d%2d", &year1, &month1, &day1);
// cout << year1 << ' ' << month1 << ' ' << day1 << endl;
scanf("%4d%2d%2d", &year2, &month2, &day2);
// cout << year1 << ' ' << month1 << ' ' << day1 << endl;
//判断之间的年数,生成回文数
for (int i = year1; i <= year2; i++ ) {
if (sheng(to_string(i))) {
sum++;
}
}
cout << sum;
return 0;
}