题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2315
im是一个掌控时间的大师。不同于一般人,他习惯使用秒来计算时间。如果你问他现在是几点,他会告诉你现在是今天的xxxx秒。Mik想要考考Kim。他想知道从某一天的00:00:00开始,经过s秒后是哪一天。但是Mik不会计算答案,他需要你的帮助。

注意:我们认为一天从00:00:00开始,到23:59:59结束。00:00:00经过1秒后是00:00:01;从00:00:00开始,加86400(606024)秒后就是下一天的00:00:00.

Input
第一行一个整数T表示数据组数。

接下来T行,每行一个日期yyyy-MM-dd,接下来一个整数s表示s秒。

Output
对于每个输入,输出一行yyyy-MM-dd 表示答案。对于不足两位的数要补齐前导0。

Sample Input
3
2016-12-10 1000
2016-02-28 86400
2016-01-01 1000000
Sample Output
2016-12-10
2016-02-29
2016-01-12
Hint
T<=100

s<=2147483647

日期在1800-01-01到2100-01-01之间

闰年的判断:

1.能被4整除且不能被100整除的为闰年.

2.能被400整除的是闰年.

**题意:**很简单;
解题思路;
直接按题意硬打代码;详细过程看代码;

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <string>
#include<queue>
#include<stack>
#include <math.h>
#include <string.h>
#define ll long long
#define inf 0x3f3f3f3f3f
using namespace std;
const int N=500010;
int days[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};//存下十二个月;
int main()
{
    int t,a,b,c,s,sum2,ss=29,ww;
    int sum=0;
    cin>>t;
    while(t--)
    {
        scanf("%d-%d-%d %d",&a,&b,&c,&s);
        sum=s/86400;//天数
       // for(int i=0;i<12;i++)
        //cout<<days[i]<<endl;
        ww=c+sum;//记录
        while(ww)//执行
        {
            if((a%4==0&&a%100!=0)||a%400==0)//特判闰年;
            {
                if(b==2)
                    ss=days[b]+1;//二月时月份变29天
                else否则都正常
                {
                    ss=days[b];
                }
            }
            else//当然也有不是闰年的时候,直接不用特判考虑
            {
                ss=days[b];
            }
            //cout<<ss<<"**"<<ww<<endl;
            if(ss<ww)//进人下一个月份
            {
                ww-=ss;//减去当前月天数
                //cout<<ww<<endl;
                if(ww>=0){//当前大于等于零时;因为刚刚减了当前月的天数;
                    b+=1;//就是月份加一
            //cout<<"**"<<endl;
                }
                if(b>12)//当然判断一下月是否满年;
                {
                    a+=1;
                    b=b-12;
                }
            }
            else//如果不满足进入下一个月,则直接输出即可;
            {
                c=ww;
                ww-=ww;
            }
        }
        //cout<<a<<b<<c;
    printf("%04d-%02d-%02d\n",a,b,c);//04d 不够4维自动补零;
    }
return 0;
}