Задача 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-2018