题目:
http://acm.hdu.edu.cn/showproblem.php?pid=4515
题解:
用一个数组模拟月份和天数。
代码:
#include<stdio.h>
int a[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31,
0,31,29,31,30,31,30,31,31,30,31,30,31};
bool nun(int year)
{
return (year%4==0&&year%100!=0)||year%400==0;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int change;
scanf("%d",&change);
int y,m,d;
y=2013;
m=3;
d=24;
int t=change;
while(t--)
{
int flag=nun(y);
d++;
if(d>a[flag][m])
{
m++;
d=1;
if(m>12)
{
y++;
m=1;
}
}
}
printf("%d/%d%d/%d%d ",y,m/10,m%10,d/10,d%10);
y=2013;
m=3;
d=24;
t=change;
while(t--)
{
int flag=nun(y);
d--;
if(d<1)
{
m--;
if(m<1)
{
y--;
m=12;
d=a[flag][m];
}
else
{
d=a[flag][m];
}
}
}
printf("%d/%d%d/%d%d\n",y,m/10,m%10,d/10,d%10);
}
return 0;
}