时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
某个实验需要统计时间,记录了实验开始和结束的时间,计算实验用了多少秒。
输入描述:
第一行输入一个整数n,表示样例个数。接下来每组样例两行,表示开始时间和结束时间,格式为xdayHH:MM:SS,x是一个整数表示第几天,0 < x < 20000,HH表示小时,MM表示分钟,SS表示秒,保证时间合法,结束时间比开始时间晚。
输出描述:
每组数据输出一行一个整数,表示经过的秒数。
示例1
输入
2 1day03:26:12 1day04:26:12 123day15:00:01 19999day15:00:00
输出
3600 1717286399
签到 直接从低位到高位相减
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
#define ll long long
int main()
{
ll t, day, h, m, s, day1, h1, m1, s1, day2, h2, m2, s2, ans;
scanf("%lld", &t);
while (t --) {
scanf("%lldday%lld:%lld:%lld", &day1, &h1, &m1, &s1);
scanf("%lldday%lld:%lld:%lld", &day2, &h2, &m2, &s2);
day = day2 - day1;
h = h2 - h1;
m = m2 - m1;
s = s2 - s1;
if (s < 0) {
m --;
s += 60;
}
if (m < 0) {
h --;
m += 60;
}
if (h < 0) {
day --;
h += 24;
}
printf("%lld\n", s + m * 60 + h * 3600 + day * 24 * 3600);
}
}