Musisz napisać funkcję / program, który pobiera dane wejściowe za pomocą stdinargumentów / wiersza poleceń / argumentów funkcji, miesza znaki w ciągu, a następnie wyprowadza końcowy ciąg przez stdout.
Dane wejściowe będą najpierw zawierać ciąg znaków (nie pusty lub null), spację, a następnie parzystą liczbę liczb nieujemnych, wszystkie oddzielone spacjami. Jeśli dane wejściowe są pobierane za pomocą argumentów funkcyjnych, ciąg będzie jednym z argumentów, podczas gdy liczby całkowite, które są oddzielone spacją, będą drugim. Musisz zamienić znaki ciągu na indeksy odpowiadające kolejnym parom liczb.
Na przykład:
Hello_world! 0 6
musi skutkować
wello_Horld!
Założenia
- Możesz wybrać między indeksowaniem opartym na 0 i opartym na 1 i możesz założyć, że podane indeksy zawsze będą w zakresie.
- Ciąg nie będzie dłuższy niż 100 znaków i będzie zawierać tylko znaki ASCII w zakresie
!od~(kody znaków od 0x21 do 0x7E włącznie). Zobacz tabelę ASCII w celach informacyjnych. - Dwa wskaźniki w parze mogą być identyczne (w takim przypadku nic nie jest zamieniane na tym etapie).
Punktacja
To jest kod golfowy, więc wygrywa najkrótsze przesłanie (w bajtach).
Przypadki testowe
Hello_world! 0 6 => wello_Horld!
First 1 2 1 0 0 4 => tFisr
(Second!$$) 8 7 10 1 => ()econd$!$S
~Third~ 0 0 6 6 0 6 6 0 => ~Third~