3.4. Решения и комментарии

   Задачи Олимпиады допускают, конечно,  не  единственное реше-
ние. И этот  факт был с блеском продемонстрирован целым фейвер-
ком детского вдохновения. Читатель получит большое удовольствие
от многообразия оригинальных  решений  там, где, быть может, он
его и не предполагал.
   Для каждой  задачи сначала приводится вариант решения оргко-
митета, а затем анализируются решения школьников.

 Задача 1.
   Решение оргкомитета.
   Каждое следующее число последовательности, начиная с  треть-
его, получается  суммированием двух предыдущих.  Последователь-
ность будет продолжена числом 34.

   Комментарии. Правильный ответ (число 34) получен во всех ра-
ботах. В трех работах отсутствует описание алгоритма построения
членов последовательности, в некоторых замечено, что последова-
тельность носит специальное название "числа Фибоначчи".
 Типичные ошибки (неточности) в объяснениях алгоритма.
 -  Сумма любой пары чисел равна следующему числу.
 -  Каждый последующий элемент равен сумме двух предыдущих.
 -  Сложение результата с предыдущим числом.

 Задача 2.
   Решение оргкомитета.
   Множество содержит простые числа (то есть  числа, которые ни
на что не делятся без остатка, кроме себя  и единицы). Исключе-
ние составляет число 15, оно и является лишним.

   Комментарии. Большинство  участников указали два  правильных
ответа: а) число 15 (составное число) и б) число 5 (однозначное
число). Более экзотические решения:

                 Лишним является число 31.
Команда 10 (руководитель Кудинова В.И., г.Железногорск).
   Для каждого числа можно подобрать  второе  число,  в сумме с
которым  они   дают   число,  оканчивающееся  на  0.  Например,
23+17=40, 13+47=60,  15+5=20  или  пару, разность чисел которой
оканчивается на  0.  Например, 23-13=10, 47-17=30, 15-5=10. Для
числа 31 такой пары нет.

   Команды: 11 (руководитель Добшиков А.Е., г.Миасс), 12 (руко-
водитель  Антонова  Т.И.,  г.Пермь), 27 (руководитель  Путешова
И.А., г.Петрозаводск), 33 (руководитель Рудь А.В., г.Снежинск),
35 (руководитель  Зуева  М.В, г.Нижний Новгород), 41 (руководи-
тель Лукьянова А.А., г.Барнаул), 50 (руководитель Фролова Е.И.,
г.Владивосток).
   У каждого числа есть  пара  - число, оканчивающееся на такую
же цифру,  что и первое число. Например: 13 и 23, 17 и 47, 15 и
5. У числа 31 такой пары нет.

                 Лишним является число 47.
   Команда 33. (Беликов Виктор, г.Снежинск)
   Сумма цифр у всех чисел  множества,  кроме  числа 47, меньше
10.

Задача 3.
   Решение оргкомитета.
   В список собраны города европейской части  России. Город Ир-
кутск - лишний.

   Комментарии. Участниками было предложено пять вариантов пра-
вильных ответов:
   1) Иркутск не входит в "Золотое кольцо России".
   2) Иркутск находится в Азии.
   3) Учительница хотела  говорить  о  Руси в период феодальной
раздробленности, поэтому Иркутск в списке городов - лишний.
   4) Лишний город  - Кострома. Все остальные существительные в
списке - мужского рода.
   5) Сергиев-Посад переименовывался  (в Загорск), остальные  -
нет.

 Задача 4.
   Решение оргкомитета.
   Цепочка построена из последовательности натуральных чисел  с
исключением всех  чисел, кратных трем. Поэтому следующим числом
в ней будет число 13.

   Комментарии. Задача  была  решена всеми командами. Всеми был
указан ответ: 13. Все  обоснования  сводятся к отсутствию в це-
почке чисел кратных трем, хотя этот факт не всегда прямо указы-
вался авторами решений.
   Ниже приводится один из таких вариантов ответа.
   Следующее число в  цепочки  - 13. Обоснование: каждое следу-
ющее число получается в результате сложения предыдущего с 1 или
2 (числа 1 и 2 чередуются).

Задача 5.
   Решение оргкомитета.
   Цепочка строится из последовательных согласных букв русского
алфавита, поэтому следующей буквой будет буква Й.

   Комментарии.
   Эта задача вызвала самую бурную (и  вполне обоснованную) ре-
акцию участников  Олимпиады.  Оргкомитет  принял на себя ответ-
ственность за эту реакцию. Дело  в  том,  что существует разный
взгляд на фонетическую категорию буквы Й в русском языке. Боль-
шая Советская Энциклопедия называет  Й  неслогообразующей глас-
ной, а современный школьный учебник  русского  языка  -  мягкой
согласной.

Задача 6.
   Решение оргкомитета.
   В нижней части  написаны слова, имеющие ровно два слога, по-
этому из верхней части должно  быть  перенесено  в нижнюю слово
"лиса".

   Комментарии. Наиболее  популярный  ответ  в  работах - слово
"лиса" - совпадает с решением, предложенным организаторами. Ав-
торы задачи полагали, что дети увидят единый характеристический
признак в множестве элементов нижней части.
   Однако, участники не ограничились таким представлением зада-
ния, и потому среди их решений оказались и противоположные под-
ходы: поиск  характеристического  признака  в множестве верхней
части (см. ниже вариант со словом "крокодил").
   Один из участников даже предложил рассматривать с этой точки
зрения оба  множества - и  верхнее, и нижнее: перенос одного из
элементов верхней части в нижнюю  превращает  оба  множества  в
одинаковые по количеству гласных в совокупности элементов (!).

   Варианты решения, отличные от предложенного организаторами.

         Должно быть перенесено слово "лиса"

Команда 30 (Володин Е, г.Белорецк).
   Лишнее в верхней части слово - "лиса".
   Каждой букве  поставим  в  соответствие ее порядковый номер в
алфавите:
  а -  1, б -  2, в -  3, г -  4, д -  5, е -  6, ё -  7, ж -  8,
  з -  9, и - 10, й - 11, к - 12, л - 13, м - 14, н - 15, о - 16,
  п - 17, р - 18, с - 19, т - 20, у - 21, ф - 22, х - 23, ц - 24,
  ч - 25, ш - 26, щ - 27, ъ - 28, ы - 29, ь - 30, э - 31, ю - 32,
  я - 33.
   Теперь сложим порядковые номера букв в каждом слове в верхней
части:
        волк = 3 + 16 + 13 + 12 = 44
        бегемот = 2 + 6 + 4 + 6 + 14 + 16 + 20 = 68
        крокодил = 12 + 18 + 16 + 12 + 16 + 5 + 10 + 13 = 102
        лиса = 13 + 10 + 19 + 1 = 43
        лось = 13 + 16 + 19 + 30 = 78
и в нижней части:
        карась = 12 + 1 + 18 + 1 + 19 + 30 = 81
        жираф = 8 + 10 + 18 + 1 + 22 = 59
        петух = 17 + 6 + 20 + 21 + 23 = 87
        лошадь = 13 + 16 + + 26 + 1 + 5 + 30 = 91
        медведь = 14 + 6 + 5 + 3 + 6 + 5 + 30 = 69
   в верхней части у  всех  слов сумма получилась четная, кроме
слова "лиса",  а в нижней части сумма у  всех слов является не-
четным числом. Значит, слова "лиса"  надо  перенести  в  нижнюю
часть.

         Должно быть перенесено слово "крокодил"

   Команды: 6 (руководитель Егорова Ю.Н., г.Йошкар-Ола), 10 (ру-
ководитель Кудинова В.И., г.Железногорск), 15 (руководитель Ра-
зумова Т.Ф.,  г.Переславль), 35 (руководитель Зуева М.В, г.Ниж-
ний Новгород), 41 (руководитель Лукьянова А.А., г.Барнаул).
   В нижнюю часть надо перенести слово "крокодил". Это животное
не  является  млекопитающим, как все остальные в верхнем  ряду.
Крокодил откладывает яйца, из которых выводятся детеныши.

         Должно быть перенесено слово "бегемот"

   Команды:  22  (руководитель  Сударикова Л.И., г.Пущино),  24
(руководитель Бурлина Н.А., г.Череповец), 27 (руководитель  Пу-
тешова  И.А.,  г.Петрозаводск),  33  (руководитель  Рудь  А.В.,
г.Снежинск), 52 (руководитель Важенина М.А., г.Качканар).
   Вниз надо перенести слово "бегемот", т.к. внизу написаны два
слова с 5  буквами, два слова - с 6 буквами и только одно - с 7
буквами, поэтому добавляем слово с 7 буквами - "бегемот".

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

         Должно быть перенесено слово "лось"

Команда 29 (руководитель Ганеева А.Р., г.Уфа)
   Все животные вверху - хищники, кроме  лося, следовательно, в
нижнюю часть необходимо перенести слово "лось".

 Команда 31 (Орлова Наташа, с.Новоселова, Красноярский край).
   В нижнюю часть  нужно  перенести слово "лось". Каждое второе
слово цепочки описывает копытное животное.

  Задача 7.
   Решение оргкомитета.
   В нижней части написаны существительные, имеющие  приставки.
Поэтому из верхней части  должно  быть перенесено в нижнюю слово
"засоня".

   Комментарии. Ниже приводятся варианты  решений,  отличные от
предложенного организатором:

         Должно быть перенесено слово "равенство"

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

   Другие варианты обоснования переноса слова "равенство".

Команда 4 (Волкова Маша, г.Саров)
   С переносом слова "равенство" первые  буквы  слов  в  нижней
части страницы симметрично располагаются относительно буквы "з"
из слова "загон" (р-п-з-п-р).

Команда 31 (Орлова Наташа, с.Новоселова, Красноярский край)
   Нижняя часть  страницы  построена по следующему правилу сим-
метрии:
      РАссвет, ПОдножка, ЗАгон, ПОстройка, РАвенство.


         Должно быть перенесено слово "лесник"

Команда 9 (руководитель Гусева В.М., г.Ярославль)
   Переносится слово  "лесник", т.к. в нем  2 слога, а  слова в
нижней строчке чередуются по количеству слогов: 2 слога, 3 сло-
га, 2, 3, 2 - "лесник".

Команда 34 (руководитель Фомичева О.Н., г.Снежинск)
   Надо перенести слово "лесник", тогда количество гласных букв
в обеих частях страницы станет одинаковым (12 гласных).

   Команды:  41  (руководитель  Лукьянова А.А., г.Барнаул),  54
(руководитель Мажова Т.В., г.Тольятти).
   Переносится слово  "лесник". Тогда каждое из оставшихся слов
верхнего ряда будет иметь по три слога.


Задача 8.
   Решение оргкомитета.
   Выход получается как  сумма  цифр входа, стоящих на нечетных
местах.

   Комментарии. В задачах 8-12, в той или иной форме, все учас-
тники описали решение, предложенное оргкомитетом.

Задача 9.
   Решение оргкомитета.
   Алгоритм состоит в перекодировке цифр входного числа по пра-
вилу:
                 новая цифра = 9 - старая цифра


 Задача 10.
   Решение оргкомитета.
   Каждая цифра кодируются двумя по следующей таблице:
                           ┌─────┬───┐
                           │Цифра│Код│
                           ├─────┼───┤
                           │  0  │00 │
                           │  1  │01 │
                           │  2  │10 │
                           │  3  │11 │
                           │  4  │02 │
                           │  5  │20 │
                           │  6  │22 │
                           │  7  │03 │
                           │  8  │30 │
                           │  9  │33 │
                           └─────┴───┘
Задача 11.
   Решение оргкомитета.
   Каждая буква кодируется двухзначным числом по правилу:
             код буквы = 43 - номер буквы в алфавите
   Расшифрованный текст:
         ┌─────────────────────────────────────────────┐
         │ - кто ты такой? - спросил кот.              │
         │ - я тот, кто не любит кошек! - ответил      │
         │   незнакомец.                               │
         │ - ах, простите, мне, кажется, пора! - сказал│
         │   кот и в один прыжок оказался на дереве.   │
         └─────────────────────────────────────────────┘


Задача 12.
   Решение оргкомитета.

                          ЗАПОМНИ 1111
                          ЗАПОМНИ 7
                          УМНОЖЬ
                          ЗАПОМНИ 17
                          ЗАПОМНИ 874
                          ЗАПОМНИ 6
                          ЗАПОМНИ 37
                          ЗАПОМНИ 9
                          ЗАПОМНИ 11
                          УМНОЖЬ
                          СЛОЖИ
                          УМНОЖЬ
                          ВЫЧТИ
                          ЗАПОМНИ 345
                          СЛОЖИ
                          УМНОЖЬ
                          ВЫЧТИ


Задача 13.
   Решение оргкомитета.


  Начало                   Продолжение

 З 1004 ─┐                 З 822  ──┐
 З 823   │                 З 67     │
 З 11    │                 З 3      │
 З 7     │                 У        │
 У       │                 В        │
 В       │                 З 45     │
 З 373   │                 З 417    │
 Д       ├ числитель       З 46     │
 З 34    │                 З 7      ├ знаменатель
 З 15    │                 У        │
 У       │                 В        │
 З 45    │                 У        │
 З 3     │                 С        │
 У       │                 З 3896   │
 В       │                 В      ──┘
 З 685   │                 Д     ──── дробь
 С       │
 З 31    │
 З 11    │
 У       │
 З 27    │
 З 7     │
 У       │
 С       │
 Д       │
 У       │
 В     ──┘

   Комментарии. Большинство участников правильно написали прог-
раммы. Ошибки в ответах связаны с  порядком помещения операндов
в стек исполнителя. Поясним эту ошибку на следующем примере.
   Задача. Написать программу  вычисления арифметического выра-
жения:
                         1000 - 20*30
   НЕВЕРНОЕ решение (типичная ошибка в решениях участников).
    ┌──────────────┬──────────────────┐
    │ Команды      │ Стек исполнителя │
    │              │                  │
    ├──────────────┼──────────────────┤
    │ ЗАПОМНИ 20   │ 20               │ Число, помещенное в стек
    │ ЗАПОМНИ 30   │ 30 20            │ последним, становится
    │ УМНОЖЬ       │ 20*30            │ ВТОРЫМ операндом при
    │ ЗАПОМНИ 1000 │ 1000 20*30       │ выполнении арифметической
    │ ВЫЧТИ        │ 20*30 - 1000     │ операции.
    └──────────────┴──────────────────┘

   ВЕРНОЕ решение.
    ┌──────────────┬──────────────────┐
    │ Команды      │ Стек исполнителя │
    │              │                  │
    ├──────────────┼──────────────────┤
    │ ЗАПОМНИ 1000 │ 1000             │ Число, помещенное в стек
    │ ЗАПОМНИ 20   │ 20 1000          │ последним, становится
    │ ЗАПОМНИ 30   │ 30 20 1000       │ ВТОРЫМ операндом при
    │ УМНОЖЬ       │ 20*30 1000       │ выполнении арифметической
    │ ВЫЧТИ        │ 1000 - 20*30     │ операции.
    └──────────────┴──────────────────┘


Задача 14.
   Решение оргкомитета.
   Кубик с буквой "Ф" используется для  определения места поло-
жения Кукарачи на поле после того, как найдена буква "Ь".

ЭТО Мышь
    ВВЕРХ
    ПОКА НЕ Ь Поиск
    // Ь во вторую строку
    ПОВТОРИ 2 ВВЕРХ
    // Кукарача - в клетку (3,1)
    ПОКА НЕ Ф ВЛЕВО
    ВВЕРХ
    Установка
КОНЕЦ

ЭТО Поиск
    ВНИЗ
    ВЛЕВО
    ВВЕРХ
КОНЕЦ

ЭТО Установка
    // Ь в клетку (9,2)
    ПОВТОРИ 7 ВПРАВО
    ВНИЗ
    ВПРАВО
    ВВЕРХ
    ВПРАВО
    ВВЕРХ
    //Ь в клетку (4,1)
    ПОВТОРИ 5 ВЛЕВО
КОНЕЦ

   Комментарии. Примерно половина участников предложила правиль-
ное (нерекурсивное) решение, почти буквально повторяющее решение
организаторов.
   Все они поняли важность ключевого кубика с буквой  Ф для оп-
ределения места положения Кукарачи. Положение Ь  в пятой строке
неизвестно, поэтому неизвестен и столбец, в котором будет нахо-
диться Кукарача после того, как закончит поиск. Движение до бук-
вы Ф проясняет его координаты.
   Вторая тонкость связана с неопределенностью столбца, в кото-
ром найдена  буква Ь. Проблема  решается сдвигом этой буквы в 9
столбец, после чего ее установка в слово МЫШЬ  не вызывает зат-
руднений.
   Некоторые участники предложили  рекурсивные варианты решения
задачи. Однако, рекурсия в этих  решениях  не  нужна, она просто
моделирует цикл ПОКА при поиске кубиков.

Задача 15.
   Решение оргкомитета.
   Задача решается в два этапа. Первый - конструирование проце-
дур,  составляющих  СКИ проектируемого  исполнителя: Идти_Вниз,
Идти_Вверх, Идти_Влево, Идти_Вправо (процедуру Стоять -  писать
не обязательно, поскольку Кукарача  при  встрече с кубиком С не
должен выполнять никаких действий).
   Создаваемые процедуры оказываются косвенно рекурсивными, так
как каждая из них может обращаться к остальным в зависимости от
того кубика, который встретится на поле.

ЭТО Исполнитель
 Идти_Вниз
КОНЕЦ

ЭТО Идти_Вниз
    ВНИЗ
    Переключатель
    ЕСЛИ НЕ С ТО Идти_Вниз
КОНЕЦ

ЭТО Идти_Вверх
    ВВЕРХ
    Переключатель
    ЕСЛИ НЕ С ТО Идти_Вверх
КОНЕЦ

ЭТО Идти_Влево
    ВЛЕВО
    Переключатель
    ЕСЛИ НЕ С ТО Идти_Влево
КОНЕЦ

ЭТО Идти_Вправо
    ВПРАВО
    Переключатель
    ЕСЛИ НЕ С ТО Идти_Вправо
КОНЕЦ

ЭТО Переключатель
    ЕСЛИ П ТО Идти_Вправо
    ЕСЛИ Л ТО Идти_Влево
    ЕСЛИ В ТО Идти_Вверх
    ЕСЛИ Н ТО Идти_Вниз
КОНЕЦ

   Второй этап - расстановка кубиков. Они  поставлены так, чтобы
получилась программа "Поход по спирали" для нового исполнителя:

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

   Комментарии. Задача оказалась  непростой. Правильные решения,
не  содержащие  принципиальных ошибок, оказались только у 5  ко-
манд:

1) команда 20 (Андреева Кира, Кусина Таня, г.Переславль)
2) команда 33 (Игонин Александр, г.Снежинск)
3) команда 46 (Быстрова К., г.Пермь)
4) команда 52 (Потоскуева, Пранис, Воропаев, г.Качканар)
5) команда 54 (Дарьин Г., Дарьина А., г.Тольятти)

   Ошибочных вариантов решения два.
   1) Приводится установка кубиков на поле для нового исполните-
ля, но программы, моделирующей исполнитель нет.

   2) Новый исполнитель не  моделируется. Приводится программа,
которая работает только  при  том расположении кубиков на поле,
которое приводится в решении.

 Задача 16.
   Решение оргкомитета.
   Основная часть приведенной ниже  программы  - переключатель,
собранный из серии  команд ЕСЛИ. Он начинает работать после то-
го, как Кукарача толкнет вниз кубик и увидит на нем цифру. Если
это цифра  - 3,  то она уже стоит на  месте, в противном случае
цифру надо "дотолкнуть" в нужную строку.

ЭТО Установка_цифры
 ВНИЗ
 ЕСЛИ       4 ТО ВНИЗ
 ИНАЧЕ ЕСЛИ 5 ТО ПОВТОРИ 2 ВНИЗ
 ИНАЧЕ ЕСЛИ 6 ТО ПОВТОРИ 3 ВНИЗ
 ИНАЧЕ ЕСЛИ 7 ТО ПОВТОРИ 4 ВНИЗ
 ИНАЧЕ ЕСЛИ 8 ТО ПОВТОРИ 5 ВНИЗ
 ИНАЧЕ ЕСЛИ 9 ТО ПОВТОРИ 6 ВНИЗ
КОНЕЦ

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


Задача 17.
   Решение оргкомитета.

ЭТО Сосчитать
    Проход  // Основная работа
    ВВЕРХ   // Коррекция положения Кукарачи
КОНЕЦ                                  
//-------------------------------------
// Анализ строки на наличие в ней буквы А
ЭТО Проход
    ПОВТОРИ 9 ВПРАВО
    ЕСЛИ А ТО    Запомнить
           ИНАЧЕ Новый_Проход
КОНЕЦ
//-------------------------------------
// Перемещение исполнителя в первый
// столбец, расположенный выше текущей строки
ЭТО Новый_Проход
    ПОВТОРИ 9 ВЛЕВО
    ВВЕРХ                              
    ЕСЛИ НЕ Г ТО Проход
КОНЕЦ
//-------------------------------------
// "Запоминание" команды ВНИЗ
// для будущей установки исполнителя
// в строку, номер которой равен числу 
// букв А на поле                      
ЭТО Запомнить
    Новый_Проход
    // Команда ВНИЗ выполнится столько
    // раз, сколько букв А на поле.
    ВНИЗ
КОНЕЦ                                  

   Пояснения к процедуре Проход:
   В этой  процедуре  Кукарача  перемещается  до  конца текущей
строки командой повторения ПОВТОРИ 9 ВПРАВО. Если в строке была
буква А, последний толчок  (выталкивание  ее с поля) приведет к
истинности условия ЕСЛИ А, и вызывается  процедура Запомнить. В
противном случае  вызывается процедура Новый_Проход.  Процедуры
Запомнить и Новый_Проход  отличаются  друг от друга всего одной
деталью: в процедуре Запомнить накапливаются невыполненные  ко-
манды ВНИЗ до завершения рекурсивных вызовов.

   Пояснения к процедуре Запомнить:
   При выполнении  процедуры Новый_Проход вызывается  процедура
Проход (косвенная рекурсия), то есть перехода  к выполнению ко-
манды ВНИЗ не происходит, пока Кукарача не достигнет  буквы Г в
левом верхнем  углу поля. Невыполненные команды ВНИЗ накаплива-
ются  в  количестве обращений к процедуре Запомнить и  начинают
выполняться тогда, когда рекурсия заканчивается.

   Комментарии. Задача,  конечно, сложная. Правильные  решения,
не содержащие принципиальных ошибок, прислали 7 команд:

1) команда 11 (Мельниченко Таня и Переломов Артем, г.Миас)
2) команда 21 (Абдулаева Ира и Белоусов Кирилл, г.Переславль)
3) команда 30 (Белов С., Зинатуллин Р., Черепенькин Г., г.Белорецк)
4) команда 37 (Зайцев Илья, г.Красноярск)
5) команда 46 (Брезгин А, г.Пермь)
6) команда 52 (Потоскуева, Пранис, г.Качканар)
7) команда 54 (Густокашин М., Дарьин Г., г.Тольятти)

   В решениях было реализовано два алгоритма. В первом алгорит-
ме (совпадает с алгоритмом  организаторов)  Кукарача последова-
тельно проверяет строки своего поля, пока не доходит до буквы Г
в первой строке. Все буквы А при проверке выталкиваются с поля,
и каждое  выталкивание порождает отложенную команду ВНИЗ, кото-
рые  начинают  выполняться после выхода из рекурсии. Во  втором
алгоритме  все  буквы А сначала сдвигаются в последний  столбец
(обычными циклами), затем начинается их подсчет (тем же методом
отложенных до выхода из рекурсии команд ВНИЗ).

18.
   Решение оргкомитета.
   Идея алгоритма состоит в перемещении букв
                  Э в третью строку,
                  К в четвертую строку,
                  Р в пятую строку,
                  А в шестую строку,
                  Н в седьмую строку.
   Это перемещение выполняется  независимо  от того, в каком по-
рядке буквы изначально располагались во второй строке. Затем они
все сдвигаются в последний столбец и именно там получается слово
ЭКРАН, записанное сверху-вниз.

//-------------------------------------
ЭТО Экран
 ПОВТОРИ 5 Буква_в_нужную_строку
 Исполнитель_в_угол   // в левый верхний
 Установка_слова      // в последнем столбце
КОНЕЦ                                  
//-------------------------------------
ЭТО Буква_в_нужную_строку
 Работа
 ВПРАВО                                
КОНЕЦ                                  
//-------------------------------------
ЭТО Работа
 ВНИЗ
 ЕСЛИ       К ТО Поставить_К
 ИНАЧЕ ЕСЛИ Р ТО Поставить_Р
 ИНАЧЕ ЕСЛИ А ТО Поставить_А
 ИНАЧЕ ЕСЛИ Н ТО Поставить_Н
 ВВЕРХ
КОНЕЦ                                  
//-------------------------------------
ЭТО Поставить_К  // в четвертую строку
 ВНИЗ
 ВВЕРХ                                 
КОНЕЦ                                  
//-------------------------------------
ЭТО Поставить_Р  // в пятую строку
 ПОВТОРИ 2 ВНИЗ                        
 ПОВТОРИ 2 ВВЕРХ
КОНЕЦ
//-------------------------------------
ЭТО Поставить_А  // в шестую строку
 ПОВТОРИ 3 ВНИЗ                        
 ПОВТОРИ 3 ВВЕРХ
КОНЕЦ
//-------------------------------------
ЭТО Поставить_Н  // в седьмую строку
 ПОВТОРИ 4 ВНИЗ                        
 ПОВТОРИ 4 ВВЕРХ                       
КОНЕЦ                                  
//-------------------------------------
ЭТО Исполнитель_в_угол // в левый верхний
 ПОВТОРИ 6 ВЛЕВО                       
КОНЕЦ
//-------------------------------------
ЭТО Установка_слова // в последнем столбце
 ПОВТОРИ 2 ВНИЗ                        
 ПОВТОРИ 5 Установка_буквы
КОНЕЦ
//-------------------------------------
ЭТО Установка_буквы
 ПОВТОРИ 8 ВПРАВО
 ПОВТОРИ 8 ВЛЕВО
 ВНИЗ
КОНЕЦ                                  

   Комментарии. Правильное решение  у  этой задачи нашли 15 ко-
манд. Наряду с алгоритмом, предложенным организаторами, переме-
щающим буквы "Э", "К", "Р",  "А",  "Н"  соответственно в строки
3-7, а затем собирающим слово в каком-нибудь столбце, был пред-
ложен безумный  по  сложности реализации алгоритм поиска пооче-
редно всех нужных букв и сбором слова в строке.

   19.
   Решение оргкомитета.
   а) Пусть, двигаясь по  полю, Кукарача сделал n шагов ВЛЕВО и
m шагов ВВЕРХ. Так как Кукарача пришел в исходную точку,  то он
сделал столько же  шагов ВЛЕВО, сколько и ВПРАВО, столько шагов
ВВЕРХ, сколько и ВНИЗ, поэтому программа содержит
                   n цифр 1
                   n цифр 3
                   m цифр 2
                   m цифр 4.
   Сумма всех цифр программы равна: n*1 + n*3 + m*2 + m*4 =
   = n*(1+3) + m(2+4) = 4n + 6m = 2(2n+3m) - четное число.

   б) Нет, обратное утверждение неверно,  пример опровергающей
программы: 11.

   в) Пусть:                                     2
            n - число команд ВЛЕВО               │
            l - число команд ВПРАВО         1 ───┼──── 3
            d - число команд ВНИЗ                │
                                                 4
   Сумма цифр числа-программы = n + 3l + 4d.
   В первом  случае n = l,  и тогда сумма  цифр числа-программы
равна 4n + 4d = 4(n+d).
   Во втором  случае дополнительно n  = d, и поэтому сумма цифр
числа-программы = 8n.

   Комментарии. Эта задача не вызвала особых  сложностей. С ней
справились больше половины участников.
