Задание 10 Проанализировать задачу, записать в тетрадь

10. Дан массив меток. Каретка располагается где-то над массивом, но не над крайними метками. Стереть все метки, кроме крайних, и поставить каретку в исходное положение.

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

1. –> 2

2. X 3

3. –> 4

4.? 5, 2 (удаляем метки справа от исходного положения)

5. <– 6

6. V 7

7. <– 8 (возвращаемся к исходному положению)

8.? 7; 9

9. <– 10

10. X 11

11. <– 12

12.? 13; 10 (удаляем метки слева от исходного положения)

13. –> 14

14. V 15

15. –> 16

16.? 15; 17 (возвращаемся к исходному положению)

17. X 18 (удаляем метку, соответствующую исходному положению каретки)

18.!

Задание 11 Решить задачу, записать в тетрадь

11. На ленте машины Поста расположен массив из n меток (метки расположены через пробел). Нужно сжать массив так, чтобы все n меток занимали n расположенных подряд ячеек.

Решение. Идея решения состоит в последовательном придвижении каждой отдельной метки к уже сформированному массиву. Считаем, что каретка находится над левой меткой массива. Программа решения данной задачи эквивалентна программе сложения произвольного количества чисел (см. задачу 5).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: