社区讨论
90pts求条
P2010[NOIP 2016 普及组] 回文日期参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mjp4pdyh
- 此快照首次捕获于
- 2025/12/28 10:47 2 个月前
- 此快照最后确认于
- 2025/12/31 17:45 2 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1e4+5;
int l,r,c,n,ans;
int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool vis[N];
int main(){
cin>>l>>r;
int l1=l/10000,r1=r/10000;
c=r1-l1;
int month=0,day=0,end;
for(int i=0;i<=c;i++){
end=12;
if(i==0) month=l/100%100;
if(i==c) end=r/100%100;
else month=1;
for(int j=month;j<=end;j++){
if((l1+i)%4==0&&(l1+i)%100||(l1+i)%400==0&&j==2) n=29;
else n=m[j];
if(i==0) day=l%100;
if(i==c) n=r%100;
else day=1;
for(int k=day;k<=n;k++){
int g=k%10,s=k/10,b=j%10,t=j/10;
int y=g*1000+s*100+b*10+t;
if(y>=l1&&y<=r1&&!vis[y-l1]){
ans++,vis[y-l1]=1;
//printf("%d %d %d\n",y,j,k);
}
}
}
}
cout<<ans;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...