1. Главная
  2. Библиотека
  3. Другое
  4. Требуется определить, возможна ли сортировка последоват...
Разбор задачи

Требуется определить, возможна ли сортировка последовательности чисел с помощью стека. Со стороны пути 1 (см. рисунок) подъехал поезд. Разрешается отцепить от поезда один или сразу несколько первых вагонов и завезти их в тупик (при желании можно даже

  • Предмет: Другое
  • Автор: Кэмп
Требуется определить, возможна ли сортировка последовательности чисел с помощью стека. Со стороны пути 1 (см. рисунок) подъехал поезд. Разрешается отцепить от поезда один или сразу несколько первых вагонов и завезти их в тупик (при желании можно даже

Условие:

Требуется определить, возможна ли сортировка последовательности чисел с помощью стека. Со стороны пути 1 (см. рисунок) подъехал поезд. Разрешается отцепить от поезда один или сразу несколько первых вагонов и завезти их в тупик (при желании можно даже завезти в тупик сразу весь поезд). После этого часть вагонов вывезти в сторону пути 2. Потом можно завезти в тупик еще несколько вагонов, и снова часть вагонов транспортировать в сторону пути 2. И так далее, чтобы каждый вагон лишь один раз заехал с пути 1 в тупик, а затем один раз выехал из тупика на путь 2. Заезжать в тупик с пути 2 или выезжать из тупика на путь 1 запрещается. Нельзя с пути 1 попасть на путь 2, не заезжая в тупик.

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

Входные данные Вводится число NN — количество вагонов в поезде (1<=N<=20001 <= N <= 2000). Дальше идут номера вагонов в порядке от головы поезда, едущего по пути 1 в сторону тупика. Вагоны пронумерованы натуральными числами от 1 до N, каждое из которых встречается ровно один раз.

Выходные данные Можно ли сделать так, чтобы вагоны шли в порядке от 1 до N, считая от головы поезда, когда поезд поедет по пути 2 из тупика? Если можно, выведите сообщение YES. Если нельзя, то выведите NO.

Решение:

1. Понимание условия

У нас есть:

  • Поезд на пути 1, вагоны в некотором порядке (например: 3 1 2).
  • Тупик (стек) — можно заводить вагоны с пути 1 в тупик (только с головы состава пути 1).
  • Путь 2 — можно выводить вагоны из тупика (только верхний вагон тупика) на путь

Цель: получить на пути 2 вагоны в порядке 1 2 3 ... N.

Ограничения:

  • Каждый вагон заезжает в тупик только 1 раз и выезжает из тупика только 1 раз.
  • Нельзя напрямую с пути 1 на путь

2. Моделирование процесса

Это классическая задача: можно ли отсортировать последовательность, используя один стек.

Алго...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какой из принципов работы стека является ключевым для определения возможности сортировки вагонов в данной задаче?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет