社区讨论

60分,玄一关求调qaq

P2010[NOIP 2016 普及组] 回文日期参与者 2已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mhj0wq3l
此快照首次捕获于
2025/11/03 18:54
4 个月前
此快照最后确认于
2025/11/03 18:54
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
signed main() {
	//freopen("date.in","r",stdin);
	//freopen("date.out","w",stdout);
	string d1,d2;
	cin>>d1>>d2;
	if(d1==d2) {
		if(d1[0]==d1[7]&&d1[1]==d1[6]&&d1[2]==d1[5]&&d1[3]==d1[4]) {
			cout<<1;
			return 0;
		} else {
			cout<<0;
			return 0;
		}
	} else {
		int q[8],z[8],ans=0;
		for(int i=0; i<8; i++) {
			q[i]=int(d1[i])-48;
		}
		for(int i=0; i<8; i++) {
			z[i]=int(d2[i])-48;
		}
		int da1=q[0]*10000000+q[1]*1000000+q[2]*100000+q[3]*10000+q[4]*1000+q[5]*100+q[6]*10+q[7];
		int da2=z[0]*10000000+z[1]*1000000+z[2]*100000+z[3]*10000+z[4]*1000+z[5]*100+z[6]*10+z[7];
		for(int i=da1;i<=da2;i++){
			if(i/10000000==i%10 && i/1000000%10==i%100/10 && i/100000%10==i%1000/100 && i/10000%10==i%10000/1000){
				int yue=i%10000/1000*10+i%1000/100,day=i%100/10*10+i%10;
				if(yue==1 or yue==3 or yue==5 or yue==7 or yue==8 or yue==10 or yue==12){
					if(day<=31){
						ans++;
					}
				}else if(yue==2){
					if(day<=28){
						ans++;
					}
				}else if(yue<=12){
					if(day<=30){
						ans++;
					}
				}
			}
		}
		cout<<ans;
	}
	return 0;
}

回复

5 条回复,欢迎继续交流。

正在加载回复...