На этапе считывания отбрасываем планеты, у которых значение хотя бы одной характеристики ниже порогового.
Для каждой планеты считаем суммарное значение ее параметров.
Выводим только те планеты, для которых суммарное значение параметров превосходит среднее арифметическое суммарных значений подходящих планет.
Для того, чтобы названия планет располагались в лексикографическом порядке при равенстве сумм параметров, удобно сохранить данные в массиве pair<int, string> *planet (первое число – сумма параметров, второе - название), а затем отсортировать его элементы.
3 of 5
Легенды космических битв
Идея решения: на позиции под ударом необходимо поставить сначала корабли с самой высокой ценностью, затем – с самой низкой.
Сортируем полученные данные.
Создаем массив, в который копируем данные (максимальные или минимальные элементы) в нужные ячейки.
Оставшиеся данные копируем произвольным образом на незанятые места (например, по очереди).
4 of 5
Космические корабли цивилизации
5 of 5
Галактическая работа в команде
Идея решения: проверить граф на двудольность.
Формируем граф: вершины – люди, ребра – отношения дружбы.
Поиск в глубину от каждой компоненты связности.
В ходе поиска в глубину пытаемся пройти по всем соседям данной вершины, при этом красим каждую непосещенную вершину в один из двух цветов. Если один из соседей уже имеет цвет, совпадающий с цветом текущей вершины, граф нельзя разбить на две части.
Удобно передавать цвет в виде параметра функции поиска в глубину: dfs(int v, int color)