18岁生日

http://acm.hdu.edu.cn/showproblem.php?pid=1201

 

#include<stdio.h>
#include<stdlib.h>
int mo[13]={31,28,31,30,31,30,31,31,30,31,30,31};
int nian(int a)
{
    if(a%4==0&&a%100!=0||a%400==0)
    return 1;
    return 0;
}
/*int ri(int a,int b,int c)
{   int i, day=0;
    if(a)
    mo[1]+=1;
    for(i=0;i<b;i++)
    day+=mo[i];
    day+=c;
    return day;   
}*/
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {  int sum=0,i,x,y,z;
       scanf("%d-%d-%d" ,&x,&y,&z);
       if(!(!nian(x)||y!=2||z!=29))
       printf("-1\n");
       else
       {
          /* sum=ri(x,y,z);
           if(x)
           sum=366-sum;
           else
           sum=365-sum;*/
           for(i=x+1;i<=x+18;i++)
           {
             if(nian(i))
             sum+=366;
             else
             sum+=365;
           }
           if(nian(x)&&y<=2)
           sum+=1;
           if(nian(x+18)&&y<=2)
           sum-=1;
           printf("%d\n",sum);
       }
    }
return 0;
}

posted @ 2013-08-17 08:23  hpu张亚飞  阅读(199)  评论(0编辑  收藏  举报