题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1201
hint:关键是判断是不是闰年的2月29日!!!
#include <iostream>
#include <cstdio>
using namespace std;
bool run(int year)
{
if(year % 400 ==0 ||(year % 4 ==0 && year %100!=0))
return 1;
return 0;
}
int main()
{
int t,y,m,d;
cin>>t;
while(t--)
{
scanf("%d-%d-%d",&y,&m,&d);
if(m == 2 && d == 29)
{
puts("-1");
continue;
}
int sum=0;
for(int i=1; i<=18; i++)
{
if(run(y+i))
sum+=366;
else
sum+=365;
}
if(run(y) && m<=2)
sum++;
if(run(y+18) && m<=2)
sum--;
cout<<sum<<endl;
}
return 0;
}
时间: 2024-11-03 20:40:26