def wybierz_finalistow(n, zawodnicy): # Filtrowanie zawodników, którzy mogą i chcą uczestniczyć w finale kwalifikujacy_sie = [(i + 1, x) for i, (s, x) in enumerate(zawodnicy) if s == "TAK"] # Sortowanie według pozycji w rankingu (domyślna kolejność) kwalifikujacy_sie.sort() # Wybór pierwszych 10 finalistów finalisci = [kwalifikujacy_sie[i][0] for i in range(10)] # Filtrowanie pozostałych zawodników, którzy nie byli w finale co najmniej 2 razy pozostali = [z for z in kwalifikujacy_sie if z[0] not in finalisci and z[1] < 2] # Wybór kolejnych 10 finalistów finalisci += [pozostali[i][0] for i in range(10)] # Sortowanie finalistów według numerów finalisci.sort() # Zwrócenie listy finalistów return finalisci # Wczytanie danych wejściowych def main(): n = int(input()) zawodnicy = [input().split() for _ in range(n)] zawodnicy = [(s, int(x)) for s, x in zawodnicy] # Wywołanie funkcji i wypisanie wyników finalisci = wybierz_finalistow(n, zawodnicy) print(" ".join(map(str, finalisci))) 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 34 | def wybierz_finalistow(n, zawodnicy): # Filtrowanie zawodników, którzy mogą i chcą uczestniczyć w finale kwalifikujacy_sie = [(i + 1, x) for i, (s, x) in enumerate(zawodnicy) if s == "TAK"] # Sortowanie według pozycji w rankingu (domyślna kolejność) kwalifikujacy_sie.sort() # Wybór pierwszych 10 finalistów finalisci = [kwalifikujacy_sie[i][0] for i in range(10)] # Filtrowanie pozostałych zawodników, którzy nie byli w finale co najmniej 2 razy pozostali = [z for z in kwalifikujacy_sie if z[0] not in finalisci and z[1] < 2] # Wybór kolejnych 10 finalistów finalisci += [pozostali[i][0] for i in range(10)] # Sortowanie finalistów według numerów finalisci.sort() # Zwrócenie listy finalistów return finalisci # Wczytanie danych wejściowych def main(): n = int(input()) zawodnicy = [input().split() for _ in range(n)] zawodnicy = [(s, int(x)) for s, x in zawodnicy] # Wywołanie funkcji i wypisanie wyników finalisci = wybierz_finalistow(n, zawodnicy) print(" ".join(map(str, finalisci))) if __name__ == "__main__": main() |