签到表问题 求助 不知道哪出错了
题目在一周训练结束后,得到了这周的签到表,现在需要统计这周训练时长。共有n个人参加这周培训,每晚训练前需要签到,如果按时训练,会在签到表标注'o',如果缺训,会标注'x'。每周训练三次,每次训练时间为3小时,如果缺席,需要补训,每次缺训需要补训3小时,在补训签到表签到签退。补训签到表一共签了m行,每行有补训人的姓名和时间。你需要按签到表顺序输出每个人的训练总时长,如果达到24小时或以上,输出24:00,如果不足9小时,需要在后面标注缺训时长,时间与最长的姓名之间有一个空格,其它与该行对齐,具体格式见样例。
输入
输入第一行一个整数T,代表接下来有T组测试数据。
接下来T组,每组第一行有2个整数n,m,接下来n行,每行有一个字符串,表示参加训练人的名字,接下来有三个字符'o'或'x','o'表示签到,'x'表示缺席,接下来m行,每行有一个字符串,表示补训人的名字,接下来有两个时间,用hour:minute的形式给出表示签到和签退的时间。
数据范围:1≤T≤10,0≤m<n≤1000,1≤len(name)≤20,0≤hour≤23,0≤minute≤59,同一次补训签到签退在同一天,没有两个人的名字相同.
样例输入
2
8 16
guozhe o o o
guozhenwei o o x
jiangjiawei o x o
shaqingrui o x x
sunhaoyu x o o
sunhongjia x o x
wangyan x x o
wangyu x x x
sunhongjia 08:00 09:00
sunhongjia 09:01 10:01
sunhongjia 10:02 11:02
sunhongjia 11:03 12:03
sunhongjia 12:04 13:04
sunhongjia 13:05 14:05
wangyan 18:00 21:00
wangyan 18:00 21:00
jiangjiawei 13:30 15:00
jiangjiawei 09:00 10:30
guozhenwei 23:58 23:59
guozhenwei 00:00 02:59
sunhaoyu 00:00 23:59
shaqingrui 08:00 11:00
shaqingrui 13:00 16:00
wangyu 07:07 07:08
3 5
a o x o
b x o x
c o x o
c 12:00 14:00
a 00:00 02:00
b 12:34 21:43
c 23:00 23:59
a 19:00 19:30
样例输出
guozhe 09:00
guozhenwei 09:00
jiangjiawei 09:00
shaqingrui 09:00
sunhaoyu 24:00
sunhongjia 09:00
wangyan 09:00
wangyu 00:01(-08:59)
a 08:30(-00:30)
b 12:09
c 08:59(-00:01)