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() |