//只过了70%
😩
#include<bits/stdc++.h>
using namespace std;int mday[12]={31,28,31,30,31,30,31,31,30,31,30,31};
bool ft(int y,int m,int d,int mday[],int judge)
{
if(judge>y*10000+m*100+d) return false;
if(m<1||m>12) return false;
if(y%4==0&&y%100!=0||y%400==0)
{
mday[1]++;
}
if(d>0&&d<=mday[m-1]) return true;
return false;//暂时
}
int main()
{
string s_start,s_end;
cin>>s_start>>s_end;
int syear=0,fyear=0;
for(int i=0;i<4;i++)
{
syear+=(s_start[i]-'0')*pow(10, 3-i);
fyear+=(s_end[i]-'0')*pow(10, 3-i);
}
int ans=0;
if(s_start==s_end) syear=fyear;
while(syear<=fyear)
{
bool flag=false;
int judge=syear*pow(10,4);
for(int i=0;i<4;i++)
judge+=((int)(syear/pow(10,3-i))%10)*pow(10,i);
int year=syear,month,day;
day=(int)(syear/1000)%10+(int)(syear/100)%10*10;
month=(int)(syear/10)%10+syear%10*10;
if(ft(year,month,day,mday,judge)) ans++;
syear++;
}
cout<<ans;
return 0;
}
全部评论
(0) 回帖