zzulioj 1878: 蛤玮准备礼物 (日期计算)

来源:互联网 发布:大数据培训机构 编辑:程序博客网 时间:2024/05/22 12:49

1878: 蛤玮准备礼物

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 675  Solved: 92

SubmitStatusWeb Board

Description


蛤玮的妹子要过生日了,经过千挑万选,蛤玮决定给妹子买一盒水彩铅笔,然而卖多少个才合适呢.机智的蛤玮决定数一数今天是妹子出生的第多少天,然后就买那么多根铅笔.

给出蛤玮妹子的生日和今天的日期,求蛤玮一共需要买多少.

注意:生日当天算第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<stdio.h>#include<string.h>#include<algorithm>#include<math.h>using namespace std;int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int b[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};int sum[1000010];int init(){for(int i=1900;i<=1000000;i++){if(i%4==0&&i%100!=0||i%400==0)sum[i]=sum[i-1]+366;elsesum[i]+=sum[i-1]+365;}}int main(){init();int t,y,m,d,y1,m1,d1,k,i;scanf("%d",&t);while(t--){scanf("%d%d%d%d%d%d",&y,&m,&d,&y1,&m1,&d1);int s=0;for(i=0;i<m;i++){if(y%4==0&&y%100!=0||y%400==0)s+=b[i];elses+=a[i];}s+=d;if(y%4==0&&y%100!=0||y%400==0)k=366-s;elsek=365-s;k+=sum[y1]-sum[y];for(i=0;i<m1;i++){if(y1%4==0&&y1%100!=0||y1%400==0)k+=b[i];elsek+=a[i];}k+=d1;if(y1%4==0&&y1%100!=0||y1%400==0)k-=366;elsek-=365;printf("%d\n",k);}return 0;}

0 0
原创粉丝点击