#include<iostream>
#include<cstdio>
#include<cmath>
#define isyear(x) x%100!=0 && x%4==0 || x%400==0?1:0 //能被4整除,但不能被100整除。能被400整除
using namespace std;
int DayOfMonth[13][2]={{0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}};
struct Date{
int year;
int month;
int day;
void nextDay(){
day++;
if(day>DayOfMonth[month][isyear(year)]){
day=1;
month++;
if(month>12){
year++;
month=1;
}
}
}
};
int buf[5001][13][32];
int main(){
Date tmp;
tmp.year=0;
tmp.month=1;
tmp.day=1;
int k=0;
while(tmp.year!=5000){//空间换取时间
buf[tmp.year][tmp.month][tmp.day]=k;
tmp.nextDay();
k++;
}
int y1,m1,d1,y2,m2,d2;
while(scanf("%4d%2d%2d",&y1,&m1,&d1)){
scanf("%4d%2d%2d",&y2,&m2,&d2);
cout<<abs(buf[y2][m2][d2]-buf[y1][m1][d1])+1<<endl;
}
return 0;
}
日期类问题的处理方法
最新推荐文章于 2021-04-09 10:05:50 发布