Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Jasio gra w pionki. To bardzo prosta gra, w której nie da się być lepszym lub gorszym (coś jak karciana gra w wojnę). Plansza do gry w pionki jest wymiaru 1 × N. Na każdym polu początkowo stoi jeden pionek. Dla każdego pola x znane jest pole Tx na które ów pionek przeskoczy w kolejnym skoku. Jasio dostaje złe oceny w szkole, bo całymi dniami symuluje skoki wszystkich pionków. Twoim zadaniem jest pomóc mu i zasymulować wszystkie skoki szybciej, żeby mógł zająć się czymś ważniejszym.
Napisz program, który: wczyta rozmiar planszy, pola docelowe dla wszystkich pól źródłowych oraz liczbę skoków K, wyznaczy pozycje pionków po wykonaniu K skoków i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N i K, oddzielone pojedynczym odstępem, określające kolejno: długość planszy i liczbę skoków, które należy zasymulować. W drugim (i ostatnim) wierszu wejścia znajduje się ciąg N liczb naturalnych Ti, 1 ≤ Ti ≤ N. i-ta liczba ciągu oznacza numer pola, na które przeskakuje pionek z pola i.
Pola i pionki są numerowane kolejnymi liczbami naturalnymi od 1 do N. Początkowo na i-tym polu znajduje się pionek numer i.
Wyjście
Twój program powinien wypisać na wyjście ciąg N liczb naturalnych pooddzielanych pojedynczymi odstępami. i-ta liczba powinna określać numer pola, na którym znajduje się i-ty pionek.
Ograniczenia
1 ≤ N ≤ 200 000, 1 ≤ K ≤ 1018.
Przykład
Input | Output | |
|
|
Input | Output | |
|
|
Input | Output | |
|
|