20岁生日
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
1
-
描述
- 路过这的20岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达20岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达20岁生日所经过的总天数,让他好来比较一下。
#include<stdio.h>
bool Ryear(int n){
return n%4==0&&n%100||n%400==0?1:0;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int y,m,d,num=0,i,flag=0,flag1=0;
scanf("%d-%d-%d",&y,&m,&d);
for(i=y; i<y+20; i++)
{
if(Ryear(i))
num+=366;
else
num+=365;
}
if(Ryear(y))
{
flag=1;
if(m==2&&d==29||m>=3)//说明小路过的这年应该是平年天数(没有过2.29)
num--;
}
if(Ryear(y+20))
{
flag1=1;
if(m==2&&d==29||m>=3)//又过了2.29 so+1
num++;
}
if(flag==1&&m==2&&d==29&&flag1==0)
{
printf("-1\n");
}
else
printf("%d\n",num);
}
return 0;
}