hdu-1201-18岁生日
2013-08-16 18:34
316 查看
#include<stdio.h>
int nian(int y)
{
if(y%4==0&&y%100!=0||y%400==0)
return 1;
else return 0;
}
int main()
{
int s;
scanf("%d",&s);
while(s--)
{
int y,m,d,i,t,sum;
int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
char a,c;
scanf("%d%c%d%c%d",&y,&a,&m,&c,&d);
sum=t=0;
// b[1]=29;
// else b[1]=28;
for(i=0;i<m-1;i++)
{
if(nian(y)==1&&i==1)
t+=29;
else t+=b[i];
}
t+=d;
for(i=0;i<18;i++)
if(nian(y+i)==1)
sum+=366;
else sum+=365;
if(nian(y+18)==1)
{
b[1]=29;
for(i=0;i<m-1;i++)
sum+=b[i];
sum+=d;
}
else
{
b[1]=28;
for(i=0;i<m-1;i++)
sum+=b[i];
sum+=d;
}
if((m==2&&d==29)&&nian(y+18)==0) printf("-1\n");
else printf("%d\n",sum-t);
}
return 0;
}
int nian(int y)
{
if(y%4==0&&y%100!=0||y%400==0)
return 1;
else return 0;
}
int main()
{
int s;
scanf("%d",&s);
while(s--)
{
int y,m,d,i,t,sum;
int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
char a,c;
scanf("%d%c%d%c%d",&y,&a,&m,&c,&d);
sum=t=0;
// b[1]=29;
// else b[1]=28;
for(i=0;i<m-1;i++)
{
if(nian(y)==1&&i==1)
t+=29;
else t+=b[i];
}
t+=d;
for(i=0;i<18;i++)
if(nian(y+i)==1)
sum+=366;
else sum+=365;
if(nian(y+18)==1)
{
b[1]=29;
for(i=0;i<m-1;i++)
sum+=b[i];
sum+=d;
}
else
{
b[1]=28;
for(i=0;i<m-1;i++)
sum+=b[i];
sum+=d;
}
if((m==2&&d==29)&&nian(y+18)==0) printf("-1\n");
else printf("%d\n",sum-t);
}
return 0;
}
相关文章推荐
- 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岁生日
- HDU 1201 18岁生日
- HDU 1201 18岁生日