今夕何夕
Accepts: 1345
Submissions: 5533
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 32768/32768 K (Java/Others)
一年一年的加,直到天数差是7的倍数
注意特殊情况:日期是2月29日的,特判就好了
两组很强的数据:
2016-2-29
2096-2-29
答案:
2044 2108
#include<stdio.h>
int main(void)
{
int T, y, m, d, now, sum;
scanf("%d", &T);
while(T--)
{
scanf("%d-%d-%d", &y, &m, &d);
if(m==2 && d==29)
{
now = y;
sum = 0;
while(sum==0 || sum%7!=0)
{
now += 4;
sum += 1461;
if(now%100==0 && now%400!=0)
{
now += 4;
sum += 1460;
}
}
printf("%d\n", now);
}
else if(m<=2)
{
sum = 0;
now = y;
while(sum==0 || sum%7!=0)
{
if(now%4==0 && now%100!=0 || now%400==0)
sum += 366;
else
sum += 365;
now++;
}
printf("%d\n", now);
}
else
{
sum = 0;
now = y;
while(sum==0 || sum%7!=0)
{
now++;
if(now%4==0 && now%100!=0 || now%400==0)
sum += 366;
else
sum += 365;
}
printf("%d\n", now);
}
}
return 0;
}