(hdu) 1201 18岁生日&&…
2013-09-16 19:33
447 查看
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1201
#include<stdio.h>
int leap(int year)
{
if((year%4==0&&year0!=0)||(year@0==0))
return
1;
else return
0;
}
int main()
{
int
n,i,year,month,day,sum;
scanf("%d",&n);
while(n--)
{
scanf("%d",&year);
getchar();
scanf("%d",&month);
getchar();
scanf("%d",&day);
sum=18*365;
for(i=year;i<=year+18;i++)
if(leap(i))
sum++;
if(!leap(year+18)
&& month==2
&& day==29)
{
printf("-1\n");
continue;
}
//出生那年和18岁那年如果是闰年,要考虑生日是在2月29号之前还是之后
//考虑以下两种情况:
if(leap(year) &&
month>2) sum--;
if(leap(year+18)
&&
(month<2||(month==2&&day<=28)))
sum--;
printf("%d\n",sum);
}
}
#include<stdio.h>
int leap(int year)
{
if((year%4==0&&year0!=0)||(year@0==0))
return
1;
else return
0;
}
int main()
{
int
n,i,year,month,day,sum;
scanf("%d",&n);
while(n--)
{
scanf("%d",&year);
getchar();
scanf("%d",&month);
getchar();
scanf("%d",&day);
sum=18*365;
for(i=year;i<=year+18;i++)
if(leap(i))
sum++;
if(!leap(year+18)
&& month==2
&& day==29)
{
printf("-1\n");
continue;
}
//出生那年和18岁那年如果是闰年,要考虑生日是在2月29号之前还是之后
//考虑以下两种情况:
if(leap(year) &&
month>2) sum--;
if(leap(year+18)
&&
(month<2||(month==2&&day<=28)))
sum--;
printf("%d\n",sum);
}
}
相关文章推荐
- HDU--1201 -- 18岁生日 [水] [日期计算]
- 【早起一水】HDU——1201 18岁生日
- HDU-1201-18岁生日(Java AC利用Calendar类)
- HDU 1201 18岁生日
- hdu_1201 18岁生日
- hdu-1201-18岁生日
- HDU 1201 18岁生日(日期计算)
- HDU 1201 18岁生日
- 【HDU】1201 18岁生日
- 杭电 HDU 1201 18岁生日
- hdu 1201:18岁生日(水题,闰年)
- hdu 1201 18岁生日
- HDU 1201 18岁生日 【日期】
- HDU 1201-18岁生日(字符串)
- HDU-1201-18岁生日
- HDU 1201 18岁生日 【日期】
- HdU 1201-18岁生日
- hdu——1201——18岁生日
- HDU 1201 18岁生日
- 18岁生日 HDU 1201