THE DESCENT

Цель:

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

Правила:

В начале каждого игрового хода нам дана высота 8 гор слева направо. В конце игрового хода нужно выстрелить в самую высокую гору по ее индексу(0-7). Стрельба по горе уничтожит только ее часть. После каждого прохода корабль опускается на единичную высоту.

Входные данные:

В бесконечном цикле считываем высоту гор с стандартного потока ввода и выводим индекс горы которую нужно уничтожить.

Для каждого игрового хода:

8 строк, в каждой задано одно целое число которое показывает высоту горы ва соответсвии с ее индексом.

Выходные данные для каждого игрового хода:

Единственную строку с целым числом — индекс горы в которую нужно стрелять.

Тесты:

Для удобства, выведем массив индексов гор, в которые последовательно будем стрелять

Входные данные: Выходные данные:
0 6 0 5 0 8 0 6
0 6 0 5 0 5 0 6
0 4 0 5 0 5 0 6
0 4 0 5 0 5 0 0
0 4 0 2 0 5 0 0
0 4 0 2 0 0 0 0
0 2 0 2 0 0 0 0
0 0 0 2 0 0 0 0
0 0 0 0 0 0 0 0
5
1
7
3
5
1
1
3
9 8 7 3 6 5 2 4
0 8 7 3 6 5 2 4
0 0 7 3 6 5 2 4
0 0 0 3 6 5 2 4
0 0 0 3 0 5 2 4
0 0 0 3 0 0 2 4
0 0 0 3 0 0 2 0
0 0 0 0 0 0 2 0
0 0 0 0 0 0 0 0
0
1
2
4
5
7
3
6
0 6 7 5 0 8 1 0
0 6 7 5 0 0 1 0
0 6 4 5 0 0 1 0
0 2 4 5 0 0 1 0
0 2 4 3 0 0 1 0
0 2 0 3 0 0 1 0
0 2 0 0 0 0 1 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0
5
2
1
3
2
3
1
6

Решение:

Воспользуемся алгоритмом нахождения индекса наибольшего элемента в массиве.

Высоту гор будем храним в массиве. В начале каждого хода считываем высоту первой горы(индекс 0) и храним ее индекс. После в цикле считываем высоту остальных гор и если есть гора выше первой, заменим хранимый индекс на ее индекс. После полного прохода получим индекс наибольшей горы. Выведем его.

Ссылка на задачу

One thought on “THE DESCENT

Добавить комментарий