蛤玮的妹子要过生日了,经过千挑万选,蛤玮决定给妹子买一盒水彩铅笔,然而卖多少个才合适呢.机智的蛤玮决定数一数今天是妹子出生的第多少天,然后就买那么多根铅笔.
给出蛤玮妹子的生日和今天的日期,求蛤玮一共需要买多少.
注意:生日当天算第0天.
Input
T(1<=T<=1000),表示数据组数.
每组数据一行y1,m1,d1,y2,m2,d2,其中y1,m1,d1表示妹子生日的年月日,y2,m2,d2表示蛤玮所在时空的当前天的年月日.
(1900<=y<=1000000, 1<=m<=12, 1<=d<=当月应有天数).输入保证当前天在妹子生日之后.
Output
每组数据输出一行,蛤玮要买多少根铅笔.
Sample Input
2
1995 10 24 1995 10 25
1996 1 9 1996 3 7
Sample Output
1
58
#include <bits/stdc++.h>
#define ll long long
#define INF 0x3f3f3f3f
#define mem(shuzu,value) memset(shuzu,value,sizeof shuzu)
using namespace std;
const int M=1000000+100;
int days[13]= {0,31,28,31,30,
31,30,31,31,
30,31,30,31
};
int all[13];
bool is(int i) {
if((i%4==0&&i%100!=0)||i%400==0) {
return 1;
}
return 0;
}
int Run[M];
int main() {
ios::sync_with_stdio(false);
int t;
all[1]=31;
mem(Run,0);
int cnt=0;
for(int i=1; i<13; i++) {
all[i]=cnt+days[i-1];
cnt+=days[i-1];
//cout<<i<<" "<<all[i]<<endl;
}
cnt=0;
for(int i=1900; i<M; i++) {
int a=is(i);
Run[i]=Run[i-1]+a;
//cout<<i<<" "<<Run[i]<<endl;
}
cin>>t;
while(t--) {
int y1,y2,m1,m2,d1,d2;
cin>>y1>>m1>>d1>>y2>>m2>>d2;
ll ans=0;
ans+=(365*(y2-y1));
// cout<<ans<<endl;
ans=ans+Run[y2-1]-Run[y1-1];
// cout<<ans<<endl;
ans=ans+all[m2]+d2;
// cout<<ans<<endl;
ans=ans-d1-all[m1];
// cout<<ans<<endl;
if(m1>2&&is(y1)) {
ans--;
}
if(m2>2&&is(y2)) {
ans++;
}
cout<<ans<<endl;
}
return 0;
}