hdu4515小Q系列故事——世界上最遥远的距离
世界上最遥远的距离
不是生与死
而是我就站在你面前
你却不知道我爱你
世界上最遥远的距离
不是我就站在你面前你却不知道我爱你
而是明明知道彼此相爱
却不能在一起
世界上最遥远的距离
不是明明知道彼此相爱却不能在一起
而是相约好了私奔的时间
我穿越到了未来 你却回去了古代
——摘自《小Q失恋日记 》第117卷513页
当小Q使出浑身解数,终于赢得HR女神芳心的时候,却出现了一个意外情况,那就是白富美HR的妈妈并不同意他们交往,当听说小Q只是一个码农,特别是听说小Q曾经参加过资本主义国家发起的SM/ICPC比赛的时候,更是坚决反对!
爱情是伟大的,但是得不到亲人祝福的爱情却备受折磨,小Q和HR相约在腾讯第二届编程马拉松大赛进行到第5天的时候(即2013年3月24日),一起“向前穿越D天,然后开启幸福新生活”。
其勇气可谓令人赞叹,但可怜的小Q却总是备受折磨——小Q理解的”向前穿越”是朝着未来的方向,而女友HR理解的“向前穿越”却是朝着古代的方向!
假设已知现在的日期和穿越的天数D,你能计算出小Q和女友各自到达的年代吗?
接下来N行是N组数据,每一行包含一个正整数D(D<=10,0000),D表示向前穿越的天数。
6
30
2013/04/23 2013/02/22
#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
*/
hdu4515小Q系列故事——世界上最遥远的距离的更多相关文章
- HDU-4515 小Q系列故事——世界上最遥远的距离
小Q系列故事——世界上最遥远的距离 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) ...
- hdu---(4515)小Q系列故事——世界上最遥远的距离(模拟题)
小Q系列故事——世界上最遥远的距离 Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)T ...
- 【HDOJ】4515 小Q系列故事——世界上最遥远的距离
简单题目,先把时间都归到整年,然后再计算.同时为了防止减法出现xx月00日的情况,需要将d先多增加1,再恢复回来. #include <cstdio> #include <cstri ...
- hdu4505小Q系列故事——电梯里的爱情
小Q系列故事——电梯里的爱情 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tota ...
- HDU 4520 小Q系列故事――最佳裁判(STL)
小Q系列故事——最佳裁判 Problem Description 过去的2012年对小Q来说是很悲催的一年,失恋了12次,每次都要郁闷1个来月. 好在小Q是个体育迷,在最痛苦的时候,他常常用观看各种体 ...
- 小Q系列故事——电梯里的爱情
小Q系列故事——电梯里的爱情 Time Limit : 300/100ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total ...
- (比赛)C - 小Q系列故事——最佳裁判(水题)
C - 小Q系列故事——最佳裁判 Time Limit:200MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Des ...
- 小Q系列故事——屌丝的逆袭
小Q系列故事——屌丝的逆袭 Problem Description 毕业于普通本科的小Q一直自称是资深屌丝,不仅学校不知名,甚至他自己在这个普通学校也是默默无闻——直到临近毕业的时候,班里5朵金花中的 ...
- HDUOJ-----4510 小Q系列故事——为什么时光不能倒流
小Q系列故事——为什么时光不能倒流 Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)T ...
随机推荐
- 《深入理解Android2》读书笔记(八)
接上篇<深入理解Android2>读书笔记(七) AMS中的进程管理 AMS对进程的管理仅涉及两个方面 1.调节进程的调度优先级和调度策略 2.调节进程的oom值 调度优先级和调度策略 1 ...
- summernote富文本编辑器配合validate表单验证无法进行表单提交的问题
1.使用summernote富文本编辑器提交图片到服务器 在使用bootstrap中,我们用到了summernote富文本编辑器,使用summernote将图片上传到服务器中,参考我的上篇文章http ...
- 运行hadoop的时候提示物理内存或虚拟内存溢出的解决方案running beyond physical memory或者beyond vitual memory limits
当运行中出现Container is running beyond physical memory这个问题出现主要是因为物理内存不足导致的,在执行mapreduce的时候,每个map和reduce都有 ...
- 并发系列1----大白话聊聊Java并发面试问题之volatile到底是什么?【石杉的架构笔记】
- Codeforces Round #307 (Div. 2) E. GukiZ and GukiZiana(分块)
E. GukiZ and GukiZiana time limit per test 10 seconds memory limit per test 256 megabytes input stan ...
- 进入CentOS7紧急模式恢复root密码
第一步.重启CentOS7,在以下界面选择要编辑的内核(一般第一个),按e进入编辑界面 第二步.在编辑界面找到如下一行,将ro改为rw init=/sysroot/bin/sh.改完后<Ctrl ...
- BZOJ 2467 [中山市选2010]生成树(组合数学)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2467 [题目大意] 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边 ...
- BZOJ 3809 Gty的二逼妹子序列(莫队+分块)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3809 [题目大意] 给定一个长度为n(1<=n<=100000)的正整数序 ...
- [xsy2282]cake
题意:一个$n\times n$的有标号点阵,现在用一条直线把它们分成两部分,问有多少种不同的分法 结论:方案数就是以点阵上的点为端点且不经过第三个点的线段数 对一个满足要求的线段,将其绕中点顺时针转 ...
- Semaphore(信号量)源码分析
1. Semaphore Semaphore和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer共享排队的方式实现. 关 ...