您的位置:首页 > 其它

【ZZULIOJ】 1792 有点Low的时光机

2017-08-20 16:29 253 查看

Description

1carus偶然得到了一台时光机,输入一个数n,就可以到达n天之后。
穿越后的1carus发现了一个问题,这台时光机比较Low,没有办法显示到达那一天是几月几号,1carus觉得很不开心,你们可以帮他求一下1carus穿越后的日期吗?
本题为多实例。

Input

第一行 y m d 与 n(y,m,d,n皆为正整数, y不大于10000,m不大于12, d不大于31,n不大于1000)。
y,m,d分别是1carus原先所在时空的年月日,n为1carus穿越了多少天。

Output

输出1carus到达的年月日,格式为 Y M D。

Sample Input

2015 11 11 2

2015 12 30 2

Sample Output

2015 11 13

2016 1 1

HINT

Source

河工大

AC代码:

#include<cstdio>
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int Judge(int x)
{
if((x%4==0&&x%100!=0)||x%400==0)
return 1;
return 0;
}
int main()
{
int y,m,d,n;
while(scanf("%d %d %d %d",&y,&m,&d,&n)!=EOF)
{
while(n--) //一天一天算
{
if(Judge(y))
a[2]++;
if(m==12&&d==a[m])
{
y++;
m=1;
d=1;
}
else if(d==a[m])
{
m++;
d=1;
}
else
d++;
a[2]=28;
}
printf("%d %d %d\n",y,m,d);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐