Олимпиада по информатике язык python - Общение Python мододелов

Вопрос Олимпиада по информатике язык python

Регистрация
24 Окт 2013
Сообщения
85
Репутация
0
Спасибо
0
Монет
0
Сдать решение задачи 3-Незнайка и компас

Полный балл: 1

Имя входного файла: input.txt или стандартный поток ввода

Имя выходного файла: output.txt или стандартный поток вывода

Ограничение времени: 1 с

Ограничение реального времени: 2 с

Ограничение физической памяти: 256M

Задача 3: Незнайка и компас

Внимание! Полная проверка решений будет выполняться после завершения тура! Балл за задачу равен максимальному баллу по всем посылкам по данной задаче участника.







Записывая азимут, Незнайка сначала указывает заглавной латинской буквой направление, от которого потом отсчитывает угол: N -- север, E -- восток, S -- юг, W -- запад. Потом Незнайка записывает величину угла -- целое неотрицательное количество градусов в диапазоне от 0 включительно до 180 включительно. В конце записи Незнайка указывает еще одну заглавную латинскую букву (N, E, S или W) чтобы отметить то, был ли отложен угол по ходу часовой стрелки или против хода часовой стрелки. Так, если запись азимута начинается на букву N, то буква E в конце записи соответствует ходу часовой стрелки, W -- обратному ходу, а буквы S и N не ставятся в конце. Если запись азимута начинается на букву S, то буква W в конце записи соответствует ходу часовой стрелки, E -- обратному ходу, а буквы N и S не ставятся в конце. Если запись азимута начинается на букву E, то буква S в конце записи соответствует ходу часовой стрелки, N -- обратному ходу, а буквы W и E не ставятся в конце. Если запись азимута начинается на букву W, то буква N в конце записи соответствует ходу часовой стрелки, S -- обратному ходу, а буквы E и W не ставятся в конце.



Ознакомившись с записями Незнайки, Знайка схватился за голову и пришёл в ужас. Он сразу понял, что такой способ позволяет одно и то же показание компаса записать по-разному. Например, направление на северо-запад (315 градусов от направления на север, отложенные по ходу часовой стрелки) соответствует четырём записям: N45W, W45N, S135W, E135N. Например, направление на север (0 градусов от направления на север, отложенные по ходу часовой стрелки) соответствует шести записям: N0E, N0W, E90N, S180E, S180W, W90N.



Требуется написать программу, которая считает последовательность записей азимутов и найдет в ней показание, встречающееся чаще всего, учитывая то, что записи одинаковых показаний могут быть разными. Если искомых показаний больше чем одно, то среди них следует выбрать то, которое имеет наибольший угол от направления на север, отложенный по ходу часовой стрелки. Для однозначности будем считать, что само направление на север имеет угол в 0 градусов (а не 360), отложенный от самого себя. В ответе программа должна выдать номер элемента последовательности с записью выбранного показания, находящегося ближе всего к концу последовательности. Нумерация элементов последовательности начинается с единицы.



Формат входных данных

В первой строке вводится натуральное число K: 0<K<1001

. Во второй строке содержится последовательность из K записей A. Каждая запись A начинается и заканчивается заглавной латинской буквой (N, E, S, W). Между буквами находится неотрицательное целое число от 0 включительно до 180 включительно, записанное в десятичной системе. Каждая запись A сделана по правилам, изложенным во втором абзаце условия. Между соседними записями в последовательности стоит пробел.



Формат результата

Выводится номер r элемента последовательности записей A[r], такого что, записанное в A[r] показание встречается в последовательности чаще всего и среди всех чаще всего встречающихся показаний оно имеет наибольший угол от направления на север, отложенный по ходу часовой стрелки, и A[r] является записью такого показания, стоящей ближе всего к концу последовательности.
 
Сверху Снизу