Роботландский Университет 01/02
31 Азы программирования
Задачи турнира Кукарачи
-------------------------------


З А Д А Ч И
- - - - - -
ноябрь, 2001 (C) А.В.Рудь, А.А.Дуванов 
при участии Е.Алексеевой

                             Пусть простота проста,
                             но хитра:
                             до неё, как от зла
                             до добра.
			     В том секрет мастерства
                             сих церквей,
                             что добро проще зла,
                             хоть трудней.

                                          А.Величанский


Вступительное слово
-------------------

Уважаемые коллеги! Как вы поняли из моих писем, составление
задач было моей особой заботой. Я изо всех сил стремился к высокой
планке, установленной Александром Александровичем Дувановым 
и другими авторами в  1997-2001 годах. Мне очень хотелось поддержать
тот уровень красоты, простоты формулировок и сложности задач,
который доставляет решившему задачу настоящее удовольствие.
Вам судить, как это у меня получилось.

В традициях курса "Азы программирования предлагать одну "нерешаемую"
задачу. В этот раз, к сожалению, задачи типа "Ханойской Башни",
придумать не удалось. 

Но есть одна задача, которую не решил, (по крайней мере, сразу), автор
курса А.А.Дуванов. Я не называю её номер, чтобы участники не отложили
эту задачу в сторону. Тем более, что нередки случаи, когда участники
турнира находят решение лучше, проще и эффективнее авторского.

Первые две задачи разминочные. Думаю, их решат все.
Постарайтесь отшлифовать решения до блеска.

Задачи 4-6 навеяны прошлогодними "брёвнышками", которые
Кукарача разбросал по полю. Теперь он решил навести порядок,
распилить и сложить их по размеру.

В задачах 7-9 и а немного кубиков, но "игры" с ними не так уж просты.

Для решения задачи "b" можно использовать язык Бэкуса-Наура,
и нарисовать диаграмму переходов. Это повысит оценку.

Все задачи двумерные, т.е. решаются без использования 
дополнительных полей.

Хочу предостеречь новичков курса от двух ошибок, допущенных
многими командами в прошлом году:

1) Частные решения. Это решение только для одного состояния
среды исполнителя (расположения кубиков и Кукарачи).
Все турнирные задачи предполагают составление программы, верно
работающей НА МНОЖЕСТВЕ исходных данных, ОПИСАННОМ В УСЛОВИИ.

2) Примеры исходных и конечных состояний среды - 
ВСЕГО ЛИШЬ ПРИМЕРЫ !  Они не исключают других состояний 
(символов на кубиках, количества кубиков), НЕ ПРОТИВОРЕЧАЩИХ
УСЛОВИЮ. Текст условия имеет приоритет над примерами.
Некоторые команды, в прошлом году решили, что символы на кубиках
обязаны быть как в приведённом примере. Это не так!

Автор задачи выбирает примеры так, чтобы:
- с одной стороны, прояснить смысл задания
- с другой стороны, не подсказывать путь к решению 

Бывает, что приведённый в условии пример сбивает с толку,
причём совершенно без злого умысла автора задачи.

Если условие какой-либо задачи, по вашему мнению, может быть понято
неоднозначно, срочно пишите, я постараюсь мгновенно ответить.

Решая и оформляя задачи, вам будет полезно знать основные критерии,
по которым мы будем оценивать решения при перекрёстной проверке. 
Вот они:

1) Правильность. Программа должна работать ПРИ ВСЕХ СОСТОЯНИЯХ СРЕДЫ,
   оговорённых в условии. Если это не так, решение неправильно.
   Не бывает частично правильных программ!
2) Эффективность. Время выполнения программы желательно минимизировать.
   Рекурсивные вызовы, "съедающие" стековую память, должны применяться
   по необходимости. Очень часто эффективнее рекурсии оказывается
   цикл ПОКА.
3) Краткость и красота текста программы. Короткая программа при прочих
   равных условиях лучше длинной, простая лучше сложной.
4) Оформление. Программа должна легко читаться, названия процедур-
   помогать понять алгоритм. Комментарии обязательно нужны, 
   но содержательные и в меру.

Ну вот, кажется, и все советы, которые я успеваю вам дать до начала
турнира Кукарачи-2001. Поверьте, очень переживаю за всех вас и желаю
всем победы! Над задачами, над хитростями, над собой! 


Задача 1 "Елка" (3 балла)

Кукарача находится в первом столбце. Справа от него вплотную
стоит ряд из нечетного количества кубиков. На строку выше- плотный
ряд кубиков, в котором на 2 кубика меньше, сдвинутый на один
столбец вправо. В ряду на строку выше еще на 2 кубика меньше и т.д.
Сооружение заканчивается одним кубиком и напоминает о приближении
новогодней елки.
Кукараче хочется забраться на вершину елки, какой бы высокой она
ни была. При залезании разрешается немного подвинуть елку вправо.


   Пример начального положения        Пример конечного положения

  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐     ──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
  │  │  │  │  │  │  │  │  │  │  │       │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │  │  │  │  │  │  │  │       │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │  │  │  │  │  │  │  │       │  │  │  │¤ │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │  │* │  │  │  │  │  │       │  │  │  │* │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │* │* │* │  │  │  │  │       │  │  │* │* │* │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │* │* │* │* │* │  │  │  │       │  │* │* │* │* │* │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │¤ │* │* │* │* │* │* │* │  │  │       │* │* │* │* │* │* │* │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │  │  │  │  │  │  │  │       │  │  │  │  │  │  │  │  │  │
  └──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤


Задача 2. "Точка" (4 балла)

В третьей строке, начиная со второго столбца, плотный
ряд кубиков, среди которых есть кубик с символом "."
Кукарача в клетке (1,3).

Требуется переставить кубик с точкой в конец ряда
и уплотнить ряд кубиков.

   Пример начального положения        Пример конечного положения

   1  2  3  4  5  6  7  8  9  10      1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐    ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │  │  │  │  │  │  │  │  │  │  │  1 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │  2 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
3 │¤ │Т │о │. │ч │к │а │  │  │  │  3 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
4 │  │  │  │  │  │  │  │  │  │  │  4 │  │Т │о │ч │к │а │. │¤ │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤



Задача 3 "Сортировка" (6 баллов).

В пятой строке вплотную стоят кубики, начиная со 2 столбца. На каждом ку-
бике либо 0, либо 1. Кукарача находится под первым слева кубиком.
Требуется "отсортировать" кубики, т.е. переставить их так, чтобы все нули
оказались слева, а единицы справа. Кубики должны оказаться  в одной стро-
ке (любой), стоять вплотную.

                           
 Пример начального положения            Пример конечного положения



  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤        ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 3│  │  │  │  │  │  │  │  │  │  │        │  │0 │0 │1 │1 │1 │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤        ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 4│  │  │  │  │  │  │  │  │  │  │        │  │  │  │  │  │  │¤ │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤        ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 5│  │1 │1 │0 │1 │0 │  │  │  │  │        │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤        ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
 6│  │¤ │  │  │  │  │  │  │  │  │        │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤        ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤


Задача 4 "Распилить по метке" (4 балла)

Среди плотно стоящих в одной строке кубиков есть единственный
кубик с символом | -"метка". Кукарача находится в этой же строке
рядом с первым кубиком слева (см. рисунок).

Требуется передвинуть кубики, стоящие после метки, на строку
выше остальных и выровнять ряды кубиков по левому краю.

   Пример начального положения       Пример конечного положения


  │  │  │  │  │  │  │  │  │  │  │   │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │  │  │  │  │  │  │  │   │  │= │= │¤ │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │¤ │= │= │= │| │= │= │  │  │  │   │  │= │= │= │| │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │  │  │  │  │  │  │  │   │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │  │  │  │  │  │  │  │   │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤


Задача 5. "Разделать на дрова" (6 баллов)

Несколько кубиков стоят вплотную в строке, изображая "бревно".
Кукарача под 3-м слева кубиком (если он есть).
Требуется "распилить" бревно на части "длиной" по 2 кубика и
уложить в "поленницу" одно над другим. Возможно, последнее
"полено" окажется короче.
Поле Кукарачи считать бесконечным вправо и вверх.

   Пример начального положения        Пример конечного положения

   1  2  3  4  5  6  7  8  9  10      1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐    ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │  │  │  │  │  │  │  │  │  │  │  1 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │  2 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
3 │  │  │  │  │  │  │  │  │  │  │  3 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
4 │  │  │  │  │  │  │  │  │  │  │  4 │  │  │= │¤ │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
5 │  │  │  │  │  │  │  │  │  │  │  5 │  │= │= │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
6 │  │  │  │  │  │  │  │  │  │  │  6 │  │= │= │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
7 │  │= │= │= │= │= │= │= │  │  │  7 │  │= │= │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
8 │  │  │  │¤ │  │  │  │  │  │  │  8 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
9 │  │  │  │  │  │  │  │  │  │  │  9 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
10│  │  │  │  │  │  │  │  │  │  │  10│  │  │  │  │  │  │  │  │  │  │
  └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘    └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘


Задача 6 "Распилить натрое " (8 баллов)

Начиная со второго  столбца в одной строке плотно стоят
кубики, количество которых  кратно  3. Кукарача под первым
слева кубиком.
Требуется "распилить бревно" на три равные части, т.е.
расположить кубики в трех соседних строках и выровнять по
краю. Взаимное расположение кубиков в каждой части должно
остаться неизменным (см. рисунок).

Поле Кукарачи считать бесконечным вверх и вправо.

  Пример начального положения  Ппример конечного положения

  ├──┼──┼──┼──┼──┼──┼──┼──┼──  ├──┼──┼──┼──┼──┼──┼──┼──┼──
  │  │  │  │  │  │  │  │  │    │  │5 │6 │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──  ├──┼──┼──┼──┼──┼──┼──┼──┼──
  │  │  │  │  │  │  │  │  │    │  │3 │4 │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──  ├──┼──┼──┼──┼──┼──┼──┼──┼──
  │  │  │  │  │  │  │  │  │    │  │1 │2 │¤ │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──  ├──┼──┼──┼──┼──┼──┼──┼──┼──
  │  │1 │2 │3 │4 │5 │6 │  │    │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──  ├──┼──┼──┼──┼──┼──┼──┼──┼──
  │  │¤ │  │  │  │  │  │  │    │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──  ├──┼──┼──┼──┼──┼──┼──┼──┼──
  │  │  │  │  │  │  │  │  │    │  │  │  │  │  │  │  │  │


Задача 7. "Кукарача - перевозчик" (8 баллов)

В третьем столбце, (на "левом берегу реки"), плотно
стоят три перевернутых кубика с символами "В"(волк),
"К"(коза) и "к"(капуста). Взаимное расположение кубиков
неизвестно. Кукарача под нижним кубиком.

Требуется передвинуть эти кубики в шестой столбец
(на правый берег реки) по правилам роботландского
Перевозчика: Кукарача может передвигать с берега на берег
только по одному кубику, нельзя оставлять на одном берегу
волка и козу, а также козу и капусту.


   Начальное положение              Пример конечного положения

   1  2  3  4  5  6  7  8  9  10    1  2  3  4  5  6  7  8  9  10

  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │? │  │  │  │  │  │  │  │  │  │  │  │  │  │В │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │? │  │  │  │  │  │  │  │  │  │  │  │  │  │к │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │? │  │  │  │  │  │  │  │  │  │  │  │  │  │К │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │¤ │  │  │  │  │  │  │  │  │  │  │  │  │  │¤ │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │  │

Задача 8. ( 6 баллов )

В третьей строке два кубика. Кукарача под левым из них.
Расстояние между кубиками неизвестно. Требуется поменять
кубики местами.

 Пример начального положения         Пример конечного положения

   1  2  3  4  5  6  7  8  9  10     1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐   ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │  │  │  │  │  │  │  │  │  │  │ 1 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │ 2 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
3 │  │2 │  │  │  │  │  │8 │  │  │ 3 │  │8 │  │  │  │  │  │2 │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
4 │  │¤ │  │  │  │  │  │  │  │  │ 4 │  │¤ │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤   ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤

Задача 9. "Треугольник"( 9 баллов )

В третьей строке два кубика не в соседних клетках.
Третий кубик находится под правым из них в том же столбце.
Расстояния между кубиками неизвестны.
Требуется переставить кубики так, чтобы первый оказался
на месте второго, второй на месте третьего, а третий на месте первого.
Поле считать бесконечным во все стороны.

  Пример начального положения         Пример конечного положения

   1  2  3  4  5  6  7  8  9  10       1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐     ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │  │  │  │  │  │  │  │  │  │  │   1 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │   2 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
3 │  │  │А │  │  │В │  │  │  │  │   3 │  │  │С │¤ │  │А │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
4 │  │  │¤ │  │  │  │  │  │  │  │   4 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
5 │  │  │  │  │  │  │  │  │  │  │   5 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
6 │  │  │  │  │  │  │  │  │  │  │   6 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
7 │  │  │  │  │  │С │  │  │  │  │   7 │  │  │  │  │  │В │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
8 │  │  │  │  │  │  │  │  │  │  │   8 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
9 │  │  │  │  │  │  │  │  │  │  │   9 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤     ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
10│  │  │  │  │  │  │  │  │  │  │   10│  │  │  │  │  │  │  │  │  │  │
  └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘     └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘


Задача а "Проще некуда" (10 баллов, автор Катя
Алексеева, ученица 6 класса школы 124 г.Снежинска)

Кукарача и кубик находятся в одной строке, кубик справа на неиз-
вестном расстоянии. Требуется поменять их местами.

   Пример начального положения        Пример конечного положения

   1  2  3  4  5  6  7  8  9  10      1  2  3  4  5  6  7  8  9  10
  ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐    ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
1 │  │  │  │  │  │  │  │  │  │  │  1 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
2 │  │  │  │  │  │  │  │  │  │  │  2 │  │  │  │  │  │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤
3 │  │¤ │  │  │А │  │  │  │  │  │  3 │  │А │  │  │¤ │  │  │  │  │  │
  ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤    ├──┼──┼──┼──┼──┼──┼──┼──┼──┼──┤


Задача b. Проверка записи (8 баллов, Автор А.А.Дуванов)
--------------------------
Запись состоит из нулей и единиц. В ней не должно быть более двух
единиц, идущих подряд. Проверить правильность записи. Если запись
верная, установить исполнителя справа от нее, иначе - под первым
неверным символом. При этом, в любом случае, в конечном виде вся
запись должна располагаться в одной строке. В начальный момент
исполнитель стоит перед записью, вплотную к ней.

Задача с
--------------------------
Придумать собственную задачу для Кукарачи и решить её (до 12 баллов).

Будет оцениваться:
1) Точность формулировки          до 2 баллов
2) Качество и оформление решения  до 4 баллов
3) Новизна и красота идеи         до 6 баллов

Творческое задание даёт возможность компенсировать потери в баллах за
решение остальных задач. Как видно из системы оценок, можно получить
до 8 баллов, даже не найдя решения новой задачи.


Пример 1
--------
Начальное положение:

¤111111000

Конечное положение:

 111111000
   ¤

Пример 2
--------
Начальное положение:

¤10а1010

Конечное положение:

 10а1010
   ¤

Пример 3
--------
Начальное положение:

¤1011011

Конечное положение:

 1011011¤

