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;
}