In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
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:
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.
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ść, .
W pierwszym wierszu wejścia dla programu jest zapisany numer zestawu danych wejściowych , . W kolejnych liniach wejścia zapisany jest zestaw danych numer .
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.
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]