binar
Нека да вземем редица от
N двоични цифри B=(b1,
b2, ..., bN). Построяваме матрица M по следния начин:
- първият ред
на матрицата M е редицата B;
- всеки следващ ред на
матрицата M (освен първия ред) се получава от
предишния ред чрез циклично завъртане наляво.
b1 b2
... bN-1 bN
b2 b3 ... bN b1
...
bN-1 bN ... bN-3 bN-2
bN b1 ... bN-2 bN-1
След това редовете на матрицата
M са подредени в лексикографски ред
(очевидно, 0<1).
Задача
Напишете програма, която прочита
последния стълб на матрицата M (след подреждането в лексикографски ред) и определя първия ред на матрицата
M (също след сортирането в
лексикографски ред).
Вход
Входният файл binar.in съдържа на първия ред числото
N, представляващо дължината на
двоичната редица B. Вторият ред на входния файл
съдържа N двоични цифри, разделени с
интервал, представляващи последния стълб на матрицата M.
Изход
В единствения ред на изходния
файл binar.out трябва да бъдат изведени
N двоични цифри, представляващи
първия ред на матрицата M. Тези N двоични цифри не трябва да бъдат
разделени с интервали.
Ограничения
0 < N <=
1000
Примери
binar.in | binar.out | binar.in | binar.out |
5 1 0 0 1 0 |
00011 | 8 1 1 0 1 1 0 1 0 |
00111011 |
Ограничение за
време: 0.1 секунди
на тест
Marinel Serban
"Gr. C.
Moisil" Iaşi IT High
School
marinel_serban@yahoo.com
(превод
на български: Стоян Капралов)