#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
char v[1010];
string time1[1010], time2[1010];
int num1[1010], sum1[1010];
int n;
int tom(string time)
{
int h = (time[0] - '0') * 10 + (time[1] - '0') * 1;
int m = (time[3] - '0') * 10 + (time[4] - '0') * 1;
return h * 60 + m;
}
int f(string time1, string time2)
{
return tom(time2) - tom(time1);
}
int main()
{
cin >> n;
int k = 1;
int sum = 0;
int num = 0;
for (int i = 1; i <= n; i++) //天数
{
num = 0;
sum = 0;
while (true)
{
cin >> k;//书号
if (k == 0)
{
break;
}
cin >> v[k];//键值
if (v[k] == 'S') cin >> time1[k];//开始时间
if (v[k] == 'E')
{
cin >> time2[k];//结束时间
if (!time1[k].empty())
{
sum += f(time1[k], time2[k]);
num++;
}
}
}
// cout<<sum<<" "<<num;
if (sum % num != 0)
{
cout << num << " " << sum / num + 1 << endl;
}
else
{
cout << num << " " << sum / num << endl;
}
}
return 0;
}
测试用例:
3
1 S 08:10
2 S 08:35
1 E 10:00
2 E 13:16
0 S 17:00
0 S 17:00
3 E 08:10
1 S 08:20
2 S 09:00
1 E 09:20
0 E 17:00
为什么测试用例的输入只能读取到第一个 0 S 17:00
下面的就无法继续读取了