题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1201
C语言源码:
#include<stdio.h>
int judge(int n)
{
if((n%4==0&&n%100!=0)||(n%400==0))
return 1;
else
return 0;
}
int main()
{
int n,i,year,month,day,sum;
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
sum=0;
scanf("%d-%d-%d",&year,&month,&day);
for(i=1;i<=18;i++)
{
if(month<=2&&day<=29)
{
if(judge(year+i-1))
sum+=366;
else
sum+=365;
}
else
{
if(judge(year+i))
sum+=366;
else
sum+=365;
}
}
if(judge(year)&&month==2&&day==29)
printf("-1\n");
else
printf("%d\n",sum);
}
}
}