Олимпиадный тренинг

Задача . B. Составление бинарной строки


Задача

Темы: Конструктив *1300

Задано три целых числа \(a\), \(b\) и \(x\). Ваша задача — составить бинарную строку \(s\) длины \(n = a + b\) таким образом, что в ней ровно \(a\) нулей, ровно \(b\) единиц и ровно \(x\) таких индексов \(i\) (\(1 \le i < n\)), что \(s_i \ne s_{i + 1}\). Гарантируется, что ответ всегда существует.

Например, для строки "01010" есть ровно четыре индекса \(i\) таких ,что \(1 \le i < n\) и \(s_i \ne s_{i + 1}\) (\(i = 1, 2, 3, 4\)). Для строки "111001" существует два таких индекса \(i\) (\(i = 3, 5\)).

Напомним, что бинарная строка — это непустая последовательность, состоящая из символов 0 и 1.

Входные данные

Первая строка входных данных содержит три целых числа \(a\), \(b\) и \(x\) (\(1 \le a, b \le 100, 1 \le x < a + b)\).

Выходные данные

Выведите строку \(s\), где \(s\) — это любая бинарная строка, удовлетворяющая описанным выше ограничениям. Гарантируется, что ответ всегда существует.

Примечание

Все возможные ответы для первого тестового примера:

  • 1100;
  • 0011.

Все возможные ответы для второго тестового примера:

  • 110100;
  • 101100;
  • 110010;
  • 100110;
  • 011001;
  • 001101;
  • 010011;
  • 001011.

Примеры
Входные данныеВыходные данные
1 2 2 1
1100
2 3 3 3
101100
3 5 3 6
01010100

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя