Категория B1 • задача №4

 
 
 

Условие задачи

Дано:
некий исполнитель умеет выполнять две команды:

  1. DEL <число>  - удаляет из числовой последовательности все цифры, стоящие на местах, кратных указанному числу;

  2. MOVE        - перемещает первую цифру последовательности в конец.

Например, если задана числовая последовательность 1234567, то в результате последовательного выполнения этим исполнителем шести команд: DEL4 DEL3 MOVE DEL2 MOVE DEL2 остается цифра 6.

 

Вопрос:
определите, каково наименьшее число команд, которое необходимо выполнить исполнителю, чтобы из числовой последовательности 123456789 получить цифру 4?

 

Решение

I этап: анализ условия задачи

Исходная последовательность состоит из 9 цифр, а нужно в результате получить только одну цифру, причем за минимальное количество команд, следовательно, надо стремиться максимально оперативно сокращать исходную последовательность. Если обратиться к разрешенным командам исполнителя, то становится очевидным, что надо стараться применять команду типа DEL, так как именно она позволяет удалить нужные цифры. Вторая команда MOVE не уменьшает длину исходной последовательности, следовательно, ее использования следует избегать и пользоваться лишь в крайних случаях.

 

II этап: получение последовательности, состоящей из одной цифры 4

Выпишем исходную последовательность и проставим индексы у каждой цифры:

123456789Цифра
123456789Индекс цифры

Безусловно, хочется применить команду DEL2, чтобы удалить максимальное количество цифр из входной последовательности, но проблема в том, что цифра 4, располагается в четвертой позиции. А число четыре кратно двум, следовательно, если вызвать команду DEL2, то четверка будет уничтожена и задача не решена. Следовательно, надо вызвать ближайшую команду удаления, чтобы вычеркнуть как больше цифр из входной цепочки.

Первая команда - команда DEL3, то есть удаляем все цифры, стоящие на местах кратных трем, это позиции: 3, 6, 9.

123456789124578
123456789 123456

 

В полученной цепочке цифра четыре стала располагаться на третьем месте, а следовательно, сразу применяем команду DEL2, чтобы удалить за раз максимальное колиество цифр из последовательности (команда DEL2, как минимум, сокращает последовательность цифр в два раза):

124578147
123456 123

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

 

В полученной последовательности цифра четыре стала располагаться на втором месте, а следовательно, нельзя вызывать команду DEL2 и вызываем команду DEL3, то есть удаляем все цифры, стоящие на местах кратныех трем:

14714
123 12

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

 

Нельзя вызывать команду DEL2, так как четверка стоит на позиции кратной двум. Абсолютно беcполезно вызывать команду DEL3, так как в текущей последовательности физически нет даже трех символов. Также нельзя вызывать команду DEL1, так как в этом случае будут уничтожены все символы в последовательности (ведь каждое натуральное число кратное единице), поэтому, остается только один вариант, переместить первую цифру в конец последовательности. То есть вызываем команду исполнителя MOVE:

1441
12 12

Промежуточный вывод: четвертой командой для исполнителя является команда MOVE.

 

В принципе, сейчас можно удалить вторую цифру (это цифра один) из текущей последовательности, вызыва команду DEL2:

414
12 1

Промежуточный вывод: пятой командой для исполнителя является команда DEL2 и после ее вызова в преобразованной последовательности остается одна единственная цифра. Это именно та цифра, которую нужно было получить по условию задания. Результирующая последовательность содержит лишь цифру четыре.

 

Вывод:

для получения из входной последовательности 123456789 цифры 4 необходимо выполнить следующие пять команд:

  1. DEL3;

  2. DEL2

  3. DEL3

  4. MOVE;

  5. DEL2.

Резюме

  1. провели анализ входной последовательности и допустимых команд исполнителя;

  2. по мере возможности удаляли наибольшее количество цифр из текущей последовательности.

 

Ответ:

5

 
Рейтинг:
 
Проголосовало: 1
Количество просмотров: 2075
 
 
 

Категория B1 • задача №4

 

Комментарии

Для комментирования или зарегистрируйтесь
 

Остальные решения из билета №4 для подготовки к ЕГЭ по информатике 2013

 
Условие задачи
(наведите курсор мыши на ссылку)
Аудиовизуальное
решение
Мультимедийная
видеопрезентация
Решение в формате
слайд-шоу
Текстовое
решение
 
© 2011-2024 ООО "СтадиМен". Все права сохранены.
Перепечатка и использование материалов с данного сайта, разрешена только по согласию с владельцем.
Владелец оставляет за собой право воспользоваться 146 статьей УК РФ при нарушении авторских и смежных прав.
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?