2050第二题- 时间间隔 (HDU - 6491)

mac2022-06-30  20

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\n", sum1); } return 0; }

 

转载于:https://www.cnblogs.com/RootVount/p/10939725.html

最新回复(0)