Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Иван Макогонов Знаток (372), на голосовании 1 неделю назад
Сдать решение задачи 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[i]. Каждая запись A[i] начинается и заканчивается заглавной латинской буквой (N, E, S, W). Между буквами находится неотрицательное целое число от 0 включительно до 180 включительно, записанное в десятичной системе. Каждая запись A[i] сделана по правилам, изложенным во втором абзаце условия. Между соседними записями в последовательности стоит пробел.

Формат результата
Выводится номер r элемента последовательности записей A[r], такого что, записанное в A[r] показание встречается в последовательности чаще всего и среди всех чаще всего встречающихся показаний оно имеет наибольший угол от направления на север, отложенный по ходу часовой стрелки, и A[r] является записью такого показания, стоящей ближе всего к концу последовательности.
Голосование за лучший ответ
Некто Нектович Мудрец (10493) 1 месяц назад
Нейросеть придумали в 2023 году
Люди до:
Щарящий ЧеликМастер (1141) 1 месяц назад
Такое нейросеть не решит, я могу на c++ написать за минут 15 но мне лень с кровати подниматься
ᅠ ᅠ Гуру (3779) 1 месяц назад
Сейчас все побегут решать все задания за бесплатно.
Иван МакогоновЗнаток (372) 1 месяц назад
а для чего этот сайт по твоему существует?)
ᅠ ᅠ Гуру (3779) Иван Макогонов, для помощи, а не "сделайте всё за меня".
Виктор Малышко Ученик (145) 1 месяц назад
Условия задач предоставлены Вам только для Вашего личного участия в Олимпиаде. Запрещено передавать эти сведения другим лицам или как-либо публиковать их.
Регламент Олимпиады предусматривает возможность аннулирования работы участника в ряде ситуаций, в том числе при установлении в работе участника Олимпиады факта наличия заимствований или иных признаков несамостоятельного выполнения заданий Олимпиады.
Похожие вопросы