码迷,mamicode.com
首页 > 其他好文 > 详细

HOJ 2315 Time(模拟)

时间:2017-12-13 20:32:34      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:body   闰年   table   hoj   space   return   mon   time   ret   

Description

Kim是一个掌控时间的大师。不同于一般人,他习惯使用秒来计算时间。如果你问他现在是几点,他会告诉你现在是今天的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(60*60*24)秒后就是下一天的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整除的是闰年.

 

Source
"科林明伦杯"哈尔滨理工大学第六届程序设计团队赛
#include<cstdio>
#include<iostream>

using namespace std;

char s[10];
int table[20]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int t,year,mon,day;
long long ti;

int check(int n)
{
    if(n%4==0)return 1;
    if(n%4==0&n%100!=0)return 1;
    return 0;
}

int getday(int n)
{
    if(n==2)return check(year)?29:28;
    return table[n];
}

int main()
{
    cin>>t;
    while(t--)
    {
        year=mon=day=0;
        cin>>s>>ti;

        year+=(s[0]-0)*1000;
        year+=(s[1]-0)*100;
        year+=(s[2]-0)*10;
        year+=(s[3]-0);
        mon+=(s[5]-0)*10;
        mon+=s[6]-0;
        day+=(s[8]-0)*10;
        day+=s[9]-0;

        day+=(ti/86400);

        while(day>0)
        {
            day-=getday(mon++);
            if(day<=0){mon--;day+=getday(mon);break;}
            if(mon==13)
            {
                mon=1;
                year++;
            }
        }
        printf("%d-",year);
        if(mon<10)printf("0%d-",mon);else printf("%d-",mon);
        if(day<10)printf("0%d\n",day);else printf("%d\n",day);
    }
    return 0;
}

 

HOJ 2315 Time(模拟)

标签:body   闰年   table   hoj   space   return   mon   time   ret   

原文地址:http://www.cnblogs.com/HadesBlog/p/8034098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!