#P3339. Team Arrangement
Team Arrangement
题目描述
Bings足球队的教练Barry Bennett想要为一场对阵Bangs的重要比赛安排阵容。他决定采用某种阵型,例如4-4-2,这意味着将有4名后卫、4名中场和2名前锋(当然,还有1名守门员)。你的任务是确定上场的球员。对于每个可用球员,我们知道他的位置(例如中场)。对于每个位置,球员按照他们的号码升序选择。当球员被选中后,你还必须确定队长,队长是在球队效力时间最长的球员。如果两名球员的效力时间相同,则选择号码更大的球员。注意,队长是在被选中的球员中选择的。
输入
输入包含多个测试用例。每个测试用例的前22行包含22名可用球员的数据,格式如下:
- 是球员号码(唯一的正整数,小于100)。
- 是最多20个字母的字符串。
- 是一个字符,G、D、M、S分别代表守门员、后卫、中场和前锋。
- 每个对()表示球员在指定年份之间(含)是球队的成员。年份采用四位数格式。列表中至少有1对且最多有20对,并且同一年份在列表中不会重复出现。
第23行描述了所需的阵型,如这种格式。注意,阵型中只有三个数字(因此,是无效的),每个数字都不为零,且它们的和始终为10。输入以包含单个的行结束。
输出
对于每个测试用例,输出被选中的11名球员的列表。每行必须包含球员号码、姓名和位置,用单个空格分隔。球员必须根据他们的位置排序,顺序为守门员、后卫、中场和前锋。同一位置的球员按号码升序排列。例外情况是队长始终作为整个列表的第一个球员出现。如果无法按照所需阵型安排球队,则在输出中写入一行。每个测试用例的输出后应有一个空行。
输入数据 1
9 PlayerA M 2000-2001 2003-2006
2 PlayerB M 2004-2006
10 PlayerC D 2001-2005
1 PlayerD D 2000-2001 2002-2004
11 PlayerE S 2003-2006
8 PlayerF M 2005-2006
22 PlayerG S 2005-2006
25 PlayerH G 2000-2001 2002-2003 2005-2006
6 PlayerI D 2003-2006
26 PlayerJ D 2003-2004 2000-2001
18 PlayerK M 2003-2004
19 PlayerL M 2000-2001 2003-2006
7 PlayerM S 2003-2006 1999-2001
21 PlayerN S 2003-2006
13 PlayerO S 2005-2006
15 PlayerP G 2001-2006
14 PlayerQ D 2003-2004
5 PlayerR S 2000-2005
20 PlayerS G 2000-2002 2003-2003
12 PlayerT M 2004-2005
3 PlayerU D 2000-2005
4 PlayerV M 2001-2004
4-4-2
0
输出数据 1
7 PlayerM S
15 PlayerP G
1 PlayerD D
3 PlayerU D
6 PlayerI D
10 PlayerC D
2 PlayerB M
4 PlayerV M
8 PlayerF M
9 PlayerA M
5 PlayerR S
来源
Tehran 2006