社区讨论
80分求助 #8 #10WA
P2010[NOIP 2016 普及组] 回文日期参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo1bzws0
- 此快照首次捕获于
- 2023/10/22 18:33 2 年前
- 此快照最后确认于
- 2023/11/02 18:55 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
int d1,d2,ans=0;
int nb[4] = {0};
int cnm(int n){
int a = n/1000 + n/100%10*10 + n/10%10*100 + n%10*1000;
nb[0] = a/1000;
nb[1] = a/100%10;
nb[2] = a/10%10;
nb[3] = a%10;
return a;
}
int main(){
cin>>d1>>d2;
int y1=d1/10000;
int y2=d2/10000;
for(int i=y1;i<=y2;i++){
int a = cnm(i);
int fuck = i*10000+a;
if(fuck >= d1 and fuck <= d2 and nb[0]*10 + nb[1] <=12){
if(nb[1] == 1 or nb[1] == 3 or nb[1] == 5 or nb[1] == 7 or nb[1] == 8 or (nb[0] == 1 and nb[1] == 0) or (nb[0] == 1 and nb[1] == 2)){
if(nb[2]*10+nb[3] <= 31){
ans++;
}
}
else if(nb[1] == 4 or nb[1] == 6 or nb[1] == 9 or (nb[0] == 1 and nb[1] == 1)){
if(nb[2]*10+nb[3] <= 30){
ans++;
}
}
else if(nb[1] == 2){
if((i%4 == 0 and i%100 != 0) or i%400==0){
if(nb[2]*10+nb[3] <= 29){
ans++;
}
}
else{
if(nb[2]*10+nb[3] <= 28){
ans++;
}
}
}
}
}
cout<<ans;
return 0;
}
可能有点乱 大佬见谅
回复
共 0 条回复,欢迎继续交流。
正在加载回复...