GoldenFishX @ 2019-11-05 18:18:41
#include<bits/stdc++.h>
using namespace std;
int hw(int n,int y,int r)//年月日
{
int a[8];
a[0]=n/1000,n=n%1000;
a[1]=n/100,n=n%100;
a[2]=n/10,n=n%10;
a[3]=n;
a[4]=y/10;
a[5]=y%10;
a[6]=r/10;
a[7]=r%10;
for(int i=0;i<4;i++)//判断是不是回文日期
{
if(a[i]!=a[7-i])
return 0;
}
return 1;
}
int ts(int nf,int yf)
{
if(yf==2&&((nf%4==0&&nf%100!=0)||nf%400==0))//闰年2月
return 29;
else
if(yf==2)//平年2月
return 28;
if(yf==1||yf==3||yf==5||yf==7||yf==8||yf==10||yf==12)
return 31;
else
return 30;
}
int main()
{
string rq1,rq2;
// 年1↓年2↓月1↓月2↓日1↓日2↓
int n1=0,n2=0,y1=0,y2=0,r1=0,r2=0,i,j,k,x=1000,ans=0;
getline(cin,rq1);
getline(cin,rq2);
for(i=1;i<=8;i++)
{
if(i==5||i==7)
x=10;
if(i<=4)//年
{
n1+=(rq1[i-1]-'0')*x;
n2+=(rq2[i-1]-'0')*x;
x/=10;
}
if(i>4&&i<=6)//月
{
y1+=(rq1[i-1]-'0')*x;
y2+=(rq2[i-1]-'0')*x;
x/=10;
}
if(i>6)//日
{
r1+=(rq1[i-1]-'0')*x;
r2+=(rq2[i-1]-'0')*x;
x/=10;
}
}
//输入并转成年月日↑
for(k=n1;k<=n2;k++)//年
{
for(i=y1;i<=12;i++)//月
{
for(j=r1;j<=ts(k,i);j++)//日
{
ans+=hw(k,i,j);
if(k==n2&&i==y2&&j==r2)
{
cout<<ans;
return 0;
}
}
}
}
return 0;
}
by GoldenFishX @ 2019-11-05 18:24:47