求助 0分
查看原帖
求助 0分
1180146
kaito_936楼主2024/11/12 19:09


#include<iostream>
#include<string>
using namespace std;
int n,Time[200000];

int func(string &s) {
    int sum1 = 0, sum2 = 0, i = 0,t=3600;
    if (s[s.size() - 1] == ')') sum2 += 3600 * 24 * (s[s.size() - 2] - '0');
    for (i = 0; i<8; i+=3) {
	sum1 += ((s[i] - '0') * 10 + (s[i + 1] - '0')) * t;
	t /= 60;
    }
    t = 3600;
    for (; i < 17; i += 3) {
	sum2 += ((s[i] - '0') * 10 + (s[i + 1] - '0')) * t;
	t /= 60;
    }
    return sum2 - sum1;
}

void out(int a) {
    int t = 3600;
    for (int i = 0; i < 3; i++) {
	int temp = a / t;
	a %= t;
	t /= 60;
	if (temp < 10) cout << 0;
	cout << temp;
	if(i!=2)
	cout << ':';
    }
    cout << endl;
}

int main() {
    cin >> n;
    getchar();
    for (int i = 0; i < 2*n; i++) {
	string str;
	getline(cin,str);
	Time[i]=func(str);
    }
    for (int i = 0; i < n; i++) {
	out((Time[2*i]+Time[2*i+1])/2);
    }
    return 0;
}
2024/11/12 19:09
加载中...