Задача №114983. Объединенная армия
Для борьбы с могучими рейнджерами Рита Репульса и Лорд Зедд решили объединить Глиняный и Зедд патрули. Для более эффективного нападения на Энджел Гроув они хотят построить свою армию в две шеренги. Количество солдат в первой шеренге равно количеству солдат во второй.
Рита любит два вопроса:
- «Правда ли, что ровно x из твоих соседей из Зедд патруля?»
- «Правда ли, что ровно y из твоих соседей из Глиняного патруля?»
Зордан с помощью своей магической силы все это время наблюдал за процессом построения. Он был очень удивлен тем, что ответы всех солдат были положительными. Однако, он помнит, что солдаты из Зедд патруля всегда говорят правду, а солдаты из Глиняного патруля обязательно солгут хотя бы на один вопрос.
Так как солдаты из Зедд патруля наиболее опасны по мнению Зордана, исходя из ответов, он хочет узнать какое наименьшее и наибольшее количество солдат из Зедд патруля могло быть в объединенной армии. Он обратился к вам за помощью!
В единственной строке входного файла содержатся три целых числа k , x , y — количество солдат в одной шеренге и числа из вопросов ( 1 ≤ k ≤ 10 5 , - 1 ≤ x , y ≤ 3 ).
Если x = - 1 , это означает, что Рита не задавала первый вопрос.
Если y = - 1 , это означает, что Рита не задавала второй вопрос.
Гарантируется, что Рита задала хотя бы один вопрос.
Если для данных k , x и y не существует ни одного способа построения, выведите -1 .
Иначе, первая строка выходного файла должна содержать одно число — наименьшее возможное количество солдат из Зедд патруля в армии.
В следующих двух строках должно содержаться по k символов « 0 » и « 1 » — описание шеренг:
- «0» означает, что в построении на соответствующей позиции стоит солдат из Глиняного патруля.
- «1» — солдат из Зедд патруля.
Четвертая строка выходного файла должна содержать одно число — наибольшее возможное количество солдат из Зедд патруля в армии.
В пятой и шестой строках выведите описание возможного построения в таком случае в аналогичном формате.
Если существует несколько способов расставить солдат, разрешается вывести любой.
В данной задаче каждый тест оценивается отдельно в 1 балл.
Обратите внимание на возможность узнать результат проверки вашего решения на всех тестах, нажав на ссылку « Запросить информацию о проверке » на вкладке « Решения ».
2 0 -1
2 01 10 2 01 10
5 1 2
0 00000 00000 4 01010 01010
1 2 2
0 0 0 0 0 0
10 0 3
5 0100010010 0001000100 8 0101010100 0010101010