1. Главная
  2. Библиотека
  3. Информационные технологии
  4. Пусть запущено n приложений. Приложения в операционной...
Разбор задачи

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

  • Предмет: Информационные технологии
  • Автор: Кэмп
  • #Алгоритмы и структуры данных
  • #Операционные системы
Пусть запущено n приложений. Приложения в операционной системе организованы в виде списка и упорядочены по убыванию времени последней активности. То есть приложение, окно которого является активным в настоящий момент — первое в списке, приложение, окно

Условие:

Пусть запущено n приложений. Приложения в операционной системе организованы в виде списка и упорядочены по убыванию времени последней активности. То есть приложение, окно которого является активным в настоящий момент — первое в списке, приложение, окно которого было активно перед этим — второе, и т. д.
Если нажать клавишу ”Alt” и затем, не отпуская её, нажать клавишу ”Tab” k раз, то активным станет окно приложения, которое находится на (k%n)+1-м месте в списке. Здесь a%b означает остаток от деления 'a' на 'b'. Иными словами, операционная система рассматривает список как циклический, переходя после последнего элемента списка к первому.
При запуске нового приложения оно добавляется в начало списка.
Задана последовательность действий пользователя, где каждое действие — либо запуск приложения, либо переключение между окнами. Выведите список имён приложений в том порядке, в котором с ними работал пользователь.
Формат ввода:
В первой строке вводится целое число n — количество действий пользователя (1≤n≤1000). Следующие n строк содержат описание действий пользователя:
Запуск приложения описывается строкой ”Run <имя приложения>”. Здесь ”<имя приложения>” — строка из не более чем 100 латинских букв, цифр и пробелов. Она отделена от слова ”Run” ровно одним пробелом. Все имена приложений различны. Большие и маленькие буквы считаются различными.
Переключение между приложениями описывается строкой ”Alt+Tab+...+Tab”, здесь подстрока ”+Tab” повторена в точности столько раз, сколько раз пользователь нажал клавишу ”Tab”, не отпуская клавишу ”Alt”. Это количество не превышает 100.
Первая команда во входных данных — всегда команда ”Run”.
Формат вывода:
Выведите n строк — последовательность имён приложений, с которыми работал пользователь в порядке, в котором их окна становились активными.

Решение:

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

Шаг 1: Инициализация

Создадим список для хранения имен приложений и переменную для отслеживания текущего активного приложения.

Шаг 2: Обработка команд

Для каждой команды:

  • Если команда начинается с "Run", добавим приложение в начало списка.
  • Если команда начинается с "Alt+Tab", определим, сколько раз пользователь нажал "Tab" и вычислим, какое приложение ст...

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

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

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

Как определяется новое активное приложение после серии нажатий "Alt+Tab"?

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

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

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

Топ 3 ошибок

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

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