`
Задача
MILITARY2(вновь предоставлена министерством обороны)
Герой задачи Military, сержант с необычайными математическими способностями, решил все-таки обучить новобранцев становиться в колонну по одному. Он взял шестерых бойцов разного роста, и грозным голосом крикнул "Становись!". Стали новобранцы, разумеется, вновь, как попало. Но сержант на этот раз решил действовать строго по науке. Он долго и старательно объяснял широко открывшим рот новобранцам смысл новых команд. По команде "1" первые четыре новобранца должны перестроится в обратном порядке, по команде "2" перестроится в обратном порядке должны новобранцы, начиная со второго и, заканчивая
пятым, а по команде "3" в обратном порядке перестраиваются те, кто в колонне занимает места, начиная с третьего по шестое. Сержант громовым голосом выкрикивал номера команд в какой-то одному ему известной последовательности, а испуганные рекруты аккуратно их выполняли. В конечном итоге колонна стала такой, какой она должна быть по уставу, т.е. солдаты стояли по росту.Сколько команд и в какой последовательности подавал сержант?
Ограничения:
Рост новобранцев измеряется в сантиметрах и не превышает 250.
Решение всегда существует, т.е. солдат всегда можно выстроить по росту. При этом первым должен стоять самый высокий, а последним – самый низкий солдат. Если существует несколько решений, можно вывести любое из них.
Ввод-вывод:
Программа должна прочитать с клавиатуры шесть чисел – рост шестерых новобранцев. Программа должна вывести в первой строке количество команд, а в следующих строках – сами команды.
Пример:
Ввод> 170 172 178 196 189 185
Вывод> 3
Вывод> 1
Вывод> 2
Вывод> 3
[В этом примере новобранцы перемещаются так:
Начальное положение
: 170 172 178 196 189 185;После первой команды
: 196 178 172 170 189 185;После второй команды
: 196 189 170 172 178 185;После третьей команды
: 196 189 185 178 172 170 ]© LIKT 1998-2024