Problem Description

世界上最遥远的距离
不是生与死
而是我就站在你面前
你却不知道我爱你

世界上最遥远的距离
不是我就站在你面前你却不知道我爱你
而是明明知道彼此相爱
却不能在一起

世界上最遥远的距离
不是明明知道彼此相爱却不能在一起
而是相约好了私奔的时间
我穿越到了未来 你却回去了古代

——摘自《小Q失恋日记 》第117卷513页


当小Q使出浑身解数,终于赢得HR女神芳心的时候,却出现了一个意外情况,那就是白富美HR的妈妈并不同意他们交往,当听说小Q只是一个码农,特别是听说小Q曾经参加过资本主义国家发起的SM/ICPC比赛的时候,更是坚决反对!

爱情是伟大的,但是得不到亲人祝福的爱情却备受折磨,小Q和HR相约在腾讯第二届编程马拉松大赛进行到第5天的时候(即2013年3月24日),一起“向前穿越D天,然后开启幸福新生活”。

其勇气可谓令人赞叹,但可怜的小Q却总是备受折磨——小Q理解的”向前穿越”是朝着未来的方向,而女友HR理解的“向前穿越”却是朝着古代的方向!

假设已知现在的日期和穿越的天数D,你能计算出小Q和女友各自到达的年代吗?

 
Input
输入首先包含一个整数N,表示有N组测试用例;

接下来N行是N组数据,每一行包含一个正整数D(D<=10,0000),D表示向前穿越的天数。
 
Output
请计算并输出小Q和女友分别到达的日期,日期格式为YYYY/MM/DD,两个日期中间用一个空格隔开,每组数据占一行,具体输出格式请参见样例。
 
Sample Input
2
6
30
 
Sample Output
2013/03/30 2013/03/18
2013/04/23 2013/02/22
 
Source
#include<stdio.h>
int main()
{
int y[2],m[2],d[2],day,k,tm,dr,i,flog,t; scanf("%d",&t);
while(t--)
{
y[0]=2013;
scanf("%d",&day);
dr=(day+31+28+24)%365;
k=(day+31+28+24)/365;
m[0]=1;d[0]=0;
for(i=1;i<=k;i++)
{
if(y[0]%400==0||y[0]%4==0&&y[0]%100!=0)
dr--;
y[0]++;
if(dr<1)
{
k--;dr=365;
}
}
for(i=1;i<=dr;i++)
{
flog=0;
if(y[0]%400==0||y[0]%4==0&&y[0]%100!=0)
flog=1;
d[0]++;
if(m[0]==1)
{tm=d[0]/32;d[0]%=31;m[0]+=tm;if(d[0]==0)d[0]=31;}
else if(m[0]==2)
{
if(flog){tm=d[0]/30;d[0]%=29;m[0]+=tm;if(d[0]==0)d[0]=29;}
else {tm=d[0]/29;d[0]%=28;m[0]+=tm;if(d[0]==0)d[0]=28;}
}
else if(m[0]==3)
{tm=d[0]/32;d[0]%=31;m[0]+=tm;if(d[0]==0)d[0]=31;}
else if(m[0]==4)
{tm=d[0]/31;d[0]%=30;m[0]+=tm;if(d[0]==0)d[0]=30;}
else if(m[0]==5)
{tm=d[0]/32;d[0]%=31;m[0]+=tm;if(d[0]==0)d[0]=31;}
else if(m[0]==6)
{tm=d[0]/31;d[0]%=30;m[0]+=tm;if(d[0]==0)d[0]=30;}
else if(m[0]==7)
{tm=d[0]/32;d[0]%=31;m[0]+=tm;if(d[0]==0)d[0]=31;}
else if(m[0]==8)
{tm=d[0]/32;d[0]%=31;m[0]+=tm;if(d[0]==0)d[0]=31;}
else if(m[0]==9)
{tm=d[0]/31;d[0]%=30;m[0]+=tm;if(d[0]==0)d[0]=30;}
else if(m[0]==10)
{tm=d[0]/32;d[0]%=31;m[0]+=tm;if(d[0]==0)d[0]=31;}
else if(m[0]==11)
{tm=d[0]/31;d[0]%=30;m[0]+=tm;if(d[0]==0)d[0]=30;}
else if(m[0]==12)
{tm=d[0]/32;d[0]%=31;m[0]+=tm;if(d[0]==0)d[0]=31;}
if(m[0]>12){y[0]++;m[0]%=12;}
} y[1]=2013;
dr=day%365;
k=day/365;
if(dr==0){dr=365;k--;}
m[1]=3;d[1]=24;
for(i=1;i<=k;i++)
{
if(y[1]%400==0||y[1]%4==0&&y[1]%100!=0)
dr--;
y[1]--;
if(dr<1)
{
k--;dr=365;
}
} for(i=1;i<=dr;i++)
{
flog=0;
if(y[1]%400==0||y[1]%4==0&&y[1]%100!=0)
flog=1;
d[1]--;
if(m[1]==1&&d[1]==0)
{
d[1]=31;m[1]=12;y[1]--;
}
else if(m[1]==2&&d[1]==0)
{
d[1]=31;m[1]--;
}
else if(m[1]==3&&d[1]==0)
{
d[1]=28;m[1]--;
if(flog) d[1]++;
}
else if(m[1]==4&&d[1]==0)
{d[1]=31;m[1]--;}
else if(m[1]==5&&d[1]==0)
{d[1]=30;m[1]--;}
else if(m[1]==6&&d[1]==0)
{d[1]=31;m[1]--;}
else if(m[1]==7&&d[1]==0)
{d[1]=30;m[1]--;}
else if(m[1]==8&&d[1]==0)
{d[1]=31;m[1]--;}
else if(m[1]==9&&d[1]==0)
{d[1]=31;m[1]--;}
else if(m[1]==10&&d[1]==0)
{d[1]=30;m[1]--;}
else if(m[1]==11&&d[1]==0)
{d[1]=31;m[1]--;}
else if(m[1]==12&&d[1]==0)
{d[1]=30;m[1]--;}
}
printf("%d/%02d/%02d %d/%02d/%02d\n",y[0],m[0],d[0],y[1],m[1],d[1]);
}
}
/*
54
365
2014/03/24 2012/03/24
6623
2031/05/12 1995/02/04
3478
2022/10/01 2003/09/15
647
2014/12/31 2011/06/16
0239
2013/11/18 2012/07/28
68278
2200/03/02 1826/04/16
5477
2028/03/22 1998/03/26
53
2013/05/16 2013/01/30
646
2014/12/30 2011/06/17
4678
2026/01/13 2000/06/02
384787
3066/09/27 0959/09/19
748
2015/04/11 2011/03/07
*/

最新文章

  1. centos 安装redis并加入系统服务
  2. 利用 cookie 模拟网站登录
  3. 初识Python类
  4. Markdown 學習
  5. ubuntu11.10搭建eclipse C++开发环境[zhuan]
  6. Extjs4.2纯前台导出Excel总结
  7. 【阿里云产品公测】给ACE的建议
  8. 2014-9-17二班----9 web project
  9. MVC-控制器向View传值的三种方法
  10. TMS320VC5509A DSP学习路线(持续更新)
  11. js split函数用法总结
  12. 一不小心,陷入TCP的性能问题
  13. angular自定义验证 ngModel的一些理解
  14. Python模块 - time,datetime,calendar
  15. C# INI文件读写类
  16. qt 串口
  17. Chapter 4 Invitations——9
  18. 7——ThinkPhp中的响应和重定向:
  19. (4)Python3笔记 之 流程控制
  20. 4、c++ Arx二次开发创建多段线

热门文章

  1. B. Black Square(字符串)
  2. STL容器 -- Queue
  3. Continuous Subarray Sum II(LintCode)
  4. VMware Workstation虚拟机进入BIOS
  5. Spring事务传播性
  6. VB查询数据库之结账——机房收费系统总结(五)
  7. 【分块】计蒜客17120 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 G. Xor
  8. bzoj 1712: [Usaco2007 China]Summing Sums 加密
  9. Java NIO入门小例(短连接:客户端和服务器一问一答)
  10. [转]Syntax error on token &quot;Invalid Character&quot;, delete this token 的解决