描述:
Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1201
代码:
#include<iostream>
#include<cstdio>
int arr[15]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int isRunNian(int y){
if( y%400==0 || (y %4==0 && y %100!=0))
return 1;
else
return 0;
}
int main(){
int t;
scanf("%d", &t);
while( t-- ){
int y, m, d, sum=0;
scanf("%d-%d-%d", &y, &m, &d);
if( m==2 && d==29 ){
printf("-1\n");
continue;
}
//根据m是否大于二月来确定计时的时段
if( m>2 ) y++;
for(int i=y; i<=y+17; i++){
if( isRunNian( i )){
sum+=366;
}else{
sum+=365;
}
}
printf("%d\n", sum);
}
return 0;
}