import sys
import numpy
def main():
data = sys.stdin.read().strip().splitlines()
if not data:
return
num_players = int(data[0])
participation_status = numpy.empty(num_players, dtype='<U3')
past_finals_count = numpy.empty(num_players, dtype=int)
for i, line in enumerate(data[1:]):
parts = line.split()
participation_status[i] = parts[0]
past_finals_count[i] = int(parts[1])
eligible_mask = (participation_status == "TAK")
eligible_players = numpy.nonzero(eligible_mask)[0]
first_group = eligible_players[:10]
second_group_candidates = eligible_players[10:]
valid_second_group_mask = past_finals_count[second_group_candidates] < 2
second_group = second_group_candidates[valid_second_group_mask][:10]
finalists = numpy.concatenate((first_group, second_group))
sorted_finalists = numpy.sort(finalists) + 1
print(" ".join(map(str, sorted_finalists.tolist())))
if __name__ == '__main__':
main()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import sys import numpy def main(): data = sys.stdin.read().strip().splitlines() if not data: return num_players = int(data[0]) participation_status = numpy.empty(num_players, dtype='<U3') past_finals_count = numpy.empty(num_players, dtype=int) for i, line in enumerate(data[1:]): parts = line.split() participation_status[i] = parts[0] past_finals_count[i] = int(parts[1]) eligible_mask = (participation_status == "TAK") eligible_players = numpy.nonzero(eligible_mask)[0] first_group = eligible_players[:10] second_group_candidates = eligible_players[10:] valid_second_group_mask = past_finals_count[second_group_candidates] < 2 second_group = second_group_candidates[valid_second_group_mask][:10] finalists = numpy.concatenate((first_group, second_group)) sorted_finalists = numpy.sort(finalists) + 1 print(" ".join(map(str, sorted_finalists.tolist()))) if __name__ == '__main__': main() |
English