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