您的位置:首页 > 其它

(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);

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: