80pts,帮帮我,代码习惯良好
查看原帖
80pts,帮帮我,代码习惯良好
1323541
han1219楼主2024/8/12 15:08

最后两个点错了。 只得了80pts 代码:

#include<bits/stdc++.h>
using namespace std;
long long s,e,s1,s2,s3,e1,e2,e3,a[13]={0,1,3,1,0,1,0,1,1,0,1,0,1},cnt=0; 
int j(int i2,int j2,int k2){
	int l=j2*100+k2,r=0;
	while(i2){
		r=r*10+i2%10;
		i2/=10;
	}
	return r==l;
}
int main(){
	cin>>s>>e;
	s1=s/10000;
	s2=s%10000/100;
	s3=s%100;
	e1=e/10000;
	e2=e%10000/100;
	e3=e%100;
	int y=s1,m=s2,d=s3;
	while(!(y==e1&&m==e2&&d==e3)){
		if(j(y,m,d)){
			cnt++;
		}
		d++;
		if(a[m]==1&&d>31){
			m++;
			d=1;
		}else if(a[m]==0&&d>30){
			m++;
			d=1;
		}else if(a[m]==3&&(y%400==0||(y%4==0&&y%100!=0))&&d>29){
			m++;
			d=1;
		}else if(a[m]==3&&d>28){
			m++;
			d=1;
		}
		if(m>12){
			m=1;
			y++;
		}	 
	}
	if(j(e1,e2,e3)){
		cnt++;
	}
	cout<<cnt;
	return 0;
}

帮忙给关注

2024/8/12 15:08
加载中...