zoukankan      html  css  js  c++  java
  • 2050第二题- 时间间隔 (HDU

    2019年1月1日,在云栖出现了可能是全世界最长的以秒为单位的倒计时装置:九亿多秒倒计时,直到2050年。

    给出一个时间S,我们想知道S距离2050年1月1日0点0时0分多少秒。

    因为答案可能很大,请输出答案模100的值。

    Input第一行一个正整数 T (1T100000)T (1≤T≤100000) 表示数据组数。

    对于每组数据,一行一个字符串表示时间。
    时间格式为:YYYY-MM-DD HH:MM:SS,分别表示年、月、日、时,分、秒。

    输入的时间保证都在2019年1月1日以后(包含当天)。
    Output对于每组数据输出一行一个整数表示答案。Sample Input

    1
    2019-01-01 00:00:00

    Sample Output

    0
    #include <cstdio>
    #include <iostream>
    #include <string>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    #include <queue>
    #include <map>
    #include <vector>
    using namespace std;
    
    #define ll long long
    
    ll sum1, sum2, sum3;
    int year, month, day, h, mi, s, t;
    
    int main()
    {
        scanf("%d", &t);
        while(t--)
        {
            scanf("%d-%d-%d%d:%d:%d", &year, &month, &day, &h, &mi, &s);
            sum1 = 0;
            sum2 = 0;
            sum3 = 0;
            int mon[13] = {8, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
            for(int y = year; y<2050; y++)
            {
                if((y%4 == 0 && y%100 != 0) || y%400 == 0) sum1 += 366;
                else sum1 += 365;
                if((y%4 == 0 && y%100 != 0) || y%400 == 0) mon[2] = 29;
                for(int m = 1; m<month; m++)
                    sum2 += mon[m];
            }
            sum3 += 86400-(h*3600+mi*60+s);
            sum2 += day-1;
            sum1 -= sum2;
            sum1 *= 86400;
            sum1 = (sum1%100+sum3%100)%100;
            printf("%d
    ", sum1);
        }
        return 0;
    }
  • 相关阅读:
    现在分词做状语,到,非谓语动词
    成功和失败因素收集
    退拽原理2
    分享到(事件冒泡实例)
    滚动公告(纵向)
    RabbitMQ消息队列(一): Detailed Introduction 详细介绍
    在IDEA中实战Git
    深入浅出JMS(三)--ActiveMQ简单的HelloWorld实例
    MySQL中日期和时间戳互相转换的函数和方法
    【Docker】 windows10 docker 使用
  • 原文地址:https://www.cnblogs.com/RootVount/p/10939725.html
Copyright © 2011-2022 走看看