社区讨论
萌新求助,玄关
P2010[NOIP 2016 普及组] 回文日期参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mhjswp3w
- 此快照首次捕获于
- 2025/11/04 07:58 4 个月前
- 此快照最后确认于
- 2025/11/04 07:58 4 个月前
QWQ
30pts:
CPP30pts:
#include<bits/stdc++.h>
using namespace std;
int a, b;
int w[233];
bool huiwen(int x) {
int cnt = 0;
while(x) {
cnt ++;
w[cnt] = x % 10;
x /= 10;
}
for(int i = 1 ; i <= 4 ; i ++) {
if(w[i] != w[9 - i]) return 0;
}
return 1;
}
int pingnian[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 32};
int runnian[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 32};
bool pd(int x) {
if(x % 400 == 0) return 1;
if(x % 100 != 0 && x % 4 == 0) return 1;
else return 0;
}
bool hefa(int x) {
int m = x % 100 / 100;
int d = x % 100;
int y = x / 10000;
bool run = pd(y);
if(m <= 12 && m >= 1) {
if(run == 1 && d <= runnian[m]) return 1;
if(run == 0 && d <= pingnian[m]) return 1;
}
return 0;
}
int main() {
cin >> a >> b;
int ans = 0;
for(int i = a ; i <= b ; i ++) {
if(hefa(i)) {
if(huiwen(i)) {
ans ++;
cout << i;
}
}
}
cout << ans << endl;
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...