In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you are familiar with IRC chat, the support team is also reachable on PIRC network (irc.pirc.pl
) in #szkopul
channel. If you are not, just use email.
Please do not ask us things like "how to solve task XYZ?".
Please remember that the support team has to sleep sometimes or go to work in real life.
Bajtazar, król Bitocji, zarządził reformę nazwisk swoich poddanych. Nazwiska mieszkańców Bitocji często zawierają powtarzające się frazy, np. w nazwisku Abiabuabiab dwukrotnie występuje fragment abiab. Bajtazar chce zamienić nazwiska swoich poddanych na ciągi bitów takiej samej długości jak ich oryginalne nazwiska. Chciałby przy tym w jakimś stopniu zachować sposób, w jaki w oryginalnych nazwiskach powtarzają się te same frazy.
W dalszej części zadania, dla prostoty, będziemy utożsamiać wielkie i małe litery w nazwiskach.
Dla dowolnego ciągu znaków (liter lub bitów) powiemy, że liczba
naturalna
(
) jest okresem
, jeżeli
dla wszystkich
.
Przez
będziemy oznaczać zbiór wszystkich okresów
.
Na przykład,
,
oraz
.
Bajtazar zdecydował, że każde nazwisko ma zostać zamienione na ciąg bitów:
Bajtazar poprosił Cię o napisanie programu, który pomógłby w tłumaczeniu dotychczasowych nazwisk jego poddanych na nowe. W nagrodę będziesz mógł zachować swoje oryginalne nazwisko!
W pierwszym wejściu standardowego wejścia znajduje się jedna liczba całkowita
- liczba nazwisk do przetworzenia (
).
Nazwiska są podane w kolejnych wierszach, po jednym w wierszu.
Każde z nazwisk składa się z od
do
wielkich liter (alfabetu angielskiego).
W testach wartych łącznie 30% punktów każde nazwisko składa się z co najwyżej liter.
Twój program powinien wypisać na standardowe wyjście wierszy.
W kolejnych wierszach powinny znajdować się ciągi zer i jedynek (niezawierające odstępów)
odpowiadające kolejnym nazwiskom z wejścia.
W przypadku, gdy dla danego nazwiska nie istnieje
ciąg bitów zgodny z warunkami zadania, należy dla tego nazwiska wypisać "XXX" (bez cudzysłowów).
Dla danych wejściowych:
3 ABIABUABIAB BABBAB BABURBAB
poprawną odpowiedzią jest:
01001101001 010010 01000010
1 Ciąg bitów jest mniejszy w porządku leksykograficznym od ciągu bitów
, jeżeli dla pewnego
,
, mamy
oraz dla wszystkich
mamy
.
Autor zadania: Wojciech Rytter.