Szyfr
To zadanie pojawiło się równolegle na finale IX OI.
Polecamy wysyłać rozwiązania do tamtego zadania, to zostanie wkrótce usunięte z serwisu.
Dany jest ciąg dodatnich liczb całkowitych (dla ).
Ciąg ten jest używany do szyfrowania -bitowych wiadomości.
Jeśli mamy wiadomość, której kolejne bity tworzą ciąg (), to po zaszyfrowaniu ma ona postać liczby:
Zadanie
Masz dane zaszyfrowane wiadomości oraz ciągi liczb , których użyto do ich zaszyfrowania.
Twoje zadanie polega na odkodowaniu zaszyfrowanych wiadomości i napisaniu programu, który na podstawie numeru wiadomości wypisuje odkodowaną wiadomość.
To zadanie ma szczególną postać.
Masz do dyspozycji wszystkie dane wejściowe: szy_in.zip.
Dane wejściowe
Dysponujesz dziesięcioma zestawami danych.
Każdy zestaw jest zapisany w osobnym pliku: szyk.in, gdzie k jest numerem zestawu.
W pierwszym wierszu każdego z tych plików znajduje się jedna liczba całkowita , .
W kolejnych wierszach zapisany jest ciąg liczb : w -ym wierszu zapisana jest jedna dodatnia liczba całkowita .
Suma liczb nie przekracza .
W -im wierszu zapisana jest jedna liczba całkowita -- zaszyfrowana wiadomość, .
Wejście
W pierwszym wierszu wejścia dla programu jest zapisany numer zestawu danych wejściowych , .
W kolejnych liniach wejścia zapisany jest zestaw danych numer .
Wyjście
W pierwszym wierszu wyjścia należy zapisać odszyfrowaną wiadomość z pliku szyk.in, tzn.
kolejne liczby , bez żadnych odstępów między nimi.
Dane testowe zostały dobrane tak, że zaszyfrowane wiadomości są określone jednoznacznie.
Przykład
Dla danych wejściowych:
0
24
19226985
123697
67356296
19721773
1113273
69335448
23680077
9029881
85168664
93676782
5253843
77616588
78572630
13375812
17199980
101508862
59248276
3505733
35790095
62028546
85726819
56462819
103373994
91757169
667509506
poprawną odpowiedzią jest:
110001000101101100010101
<Wyślij rozwiązanie> [
0/100]