НАПИШИТЕ ПРОГРАММУ ПЛИЗ Входной файл: Стандартный поток ввода Выходной файл: Стандартный...

0 голосов
56 просмотров

НАПИШИТЕ ПРОГРАММУ ПЛИЗ
Входной файл: Стандартный поток ввода
Выходной файл: Стандартный поток вывода
Ограничение по времени: 2 с
Ограничение по памяти: 65536 кб
Условие:
В вычислительном центре городка M разрабатываю программу, моделирующую проведения боя между робототехническими войсками. Один из боев проектировался так: каждая армия строит всех своих роботов в шеренгу по два робота в ряду и начинается сражение между двумя шеренгами роботов. В процессе боя может произойти потеря робота и даже его бегство. Необходимо следить за динамикой боя, т.е. кто выигрывает на текущий момент. Вас включили в список разработчиков и поручили подсчитать какая армия выигрывает.
Формат входных данных:
В первой строке задано одно целое число N количество рядов (1≤N≤1000). Далее в N строках записана информация об одном ряду в виде 4-х символов. Первые два описывают роботов 1-й армии, третий и четвертый символ описывает роботов 2-й армии. Символ "точка" обозначает потерю робота. Для 1-й армии символ ">" обозначает нападающего робота, а символ "<" - убегающего. Для 2-й армии наоборот – символ "<" - нападающий робот, символ ">" - убегающий робот.
Формат выходных данных:
Необходимо вывести два числа: номер армии, которая выигрывает, и второе число на сколько выигрывает. Подсчет выигрыша производится как сумма выигрышей в каждом ряду. Если никто не выигрывает необходимо вывести нуль.


Информатика (21 баллов) | 56 просмотров
0

Это задачи из олимпиадного программирования. Обычно они сопровождаются примерами, ибо условие муторно читать. И порой не очень понятно, что делать в определенных случаях.

0

Как я понял, есть n рядов. В каждом ряду есть 4 робота: 2 робота от первой армии и два робота от второй армии

0

Если робот нападает, то как бы локально армии начисляется +1 для текущего ряда. Иначе ничего не начисляется для ряда. Например, >>.< - в этом случае два робота из первой армии нападают, то есть +2 к этому ряду для первой армии, затем из второй армии первый робот потерялся, в второй решил напасть. То есть у второй армии +1. Тогда в этом поединке побеждает первая армия. И ей засчитывается 1 очко в общем счете.

0

А, все-таки там не так считается. Там надо сумму по очкам делать. То есть считать не просто победу в ряду для одной из армий как одно очко, а считать как модуль разности между наступающими из первой армии и из второй. То есть в случае >>.. надо прибавить первой армии к итоговому счету +2, а не +1

Дан 1 ответ
0 голосов

Код приложен тут. Язык c++.

(16.7k баллов)