1 条题解
-
1
这是我在另一个网站写的,带注释,能AC
#include <iostream> using namespace std; // 判断闰年(完整规则) bool isLeap(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // 获取某年某月的天数 int getDays(int year, int month) { int m[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (month == 2 && isLeap(year)) return 29; return m[month]; } // 判断是否是回文日期 bool isPalin(int date) { string s = to_string(date); return s[0] == s[7] && s[1] == s[6] && s[2] == s[5] && s[3] == s[4]; } int main() { int date1, date2; cin >> date1 >> date2; int ans = 0; for (int i = date1; i <= date2; ) { // 拆分年月日 int y = i / 10000; int m = i % 10000 / 100; int d = i % 100; // 当天数超过当月最大天数 → 进月 if (d > getDays(y, m)) { i = (i / 100 + 1) * 100 + 1; continue; } // 当月份超过12 → 进年 if (m > 12) { i = (y + 1) * 10000 + 101; continue; } // 判断回文 if (isPalin(i)) ans++; // 日期 +1 天 i++; } cout << ans; return 0; }
- 1
信息
- ID
- 6090
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 6
- 已通过
- 3
- 上传者