---> 164 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 27 28 29 30 31 32 33 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Дано натуральное число N . На какое наименьшее натуральное число его нужно умножить, чтобы произведение оканчивалось на 0?

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

Вводится единственное натуральное число N , не превосходящее 10 9 .

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

Вывести единственное натуральное число — ответ в задаче.

Примеры
Входные данные
27
Выходные данные
10
Входные данные
10
Выходные данные
1
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Настал декабрь, и вместе с ним пришло время готовиться к Новому Году. На острове рыцарей и лжецов этот праздник традиционно отмечается очень масштабно. Праздничный стол, новогодняя ёлка, конфетти и бенгальские огни — все готово к началу торжества.

Как вы знаете, на острове рыцарей и лжецов живут только два вида жителей — рыцари и лжецы. Рыцари никогда не лгут, так как этого им не позволяют их высокие моральные принципы. Лжецы же, наоборот, всегда говорят только неправду.

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

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

Напишите программу, которая по списку жителей и их показаний определит, существует ли такое расположение или же выстроиться в хоровод как в прошлом году не получится.

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

В первой строке входных данных дано целое число n (2 ≤ n ≤ 105) — количество жителей на острове лжецов.

В следующих n строках даны целые числа li и ri (0 ≤ li, ri ≤ 1) — данные о соседях i-го человека. Если li = 0, то i-й житель утверждает, что его сосед по хороводу в направлении против часовой стрелки был лжецом, а если li = 1, то рыцарем. Аналогично, число ri содержит информацию о соседе по часовой стрелке.

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

Требуется вывести «Yes», если существует способ выстроить людей по указанным правилам, или «No», если нет.

Примеры тестов

Входные данные
5
1 1
0 1
1 1
0 0
1 0
Выходные данные
Yes
Входные данные
2
0 0
1 1
Выходные данные
No

Примечание

Тесты к этой задаче состоят из четырёх групп.

  • Тесты 1 – 2. Тесты из условия, оцениваются в ноль баллов.
  • Тесты 3 – 10. На тесты этой группы накладывается ограничение n ≤ 10. Группа тестов оценивается в 20 баллов, баллы ставятся только при прохождении всех тестов группы.
  • Тесты 11 – 26. На тесты этой группы накладывается ограничение n ≤ 20. Группа тестов оценивается в 25 баллов, баллы ставятся только при прохождении всех тестов группы.
  • Тесты 27 – 38. В тестах этой группы дополнительные ограничения отсутствуют. Группа оценивается в 55 баллов, баллы ставятся только при прохождении всех тестов группы.

В первом примере, можно выстроить жителей в порядке (2, 1, 3, 5, 4) по часовой стрелке. Показания всех людей будут сходиться в этом случае, например, когда четвертый житель будет рыцарем, а все остальные четыре человека — лжецами.

Во втором примере, очевидно, нельзя получить никакого решения, так как выстроить двух человек в хоровод можно лишь одним способом. Рассмотрим два случая: если первый человек — рыцарь, то, по его словам, второй человек — лжец, однако, из лживости его слов следует, что первый человек не рыцарь. С другой стороны, если первый человек — лжец, то из его показаний следует, что второй человек — рыцарь, но второй человек говорит, что первый — тоже рыцарь. Таким образом, поскольку в обоих случаях мы получили противоречие, не существует способа построить хоровод из имеющегося набора жителей.

ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Две популярные футбольные команды A и Б решили выявить сильнейшего между собой. Для этого они решили провести двухматчевое противостояние — сначала сыграть матч на поле А, затем на поле Б.

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

Второй матч противостояния на поле Б на радио «Слушаем внимательно» комментировал ведущий Вася. Во время трансляции его слушатели регулярно интересовались не только текущим результатом матча, который Вася зачитывал с табло, но и возможностью такого исхода встречи, что будет исполнена серия пенальти (как самое захватывающее футбольное зрелище).

Математические способности Васи оставляли желать лучшего, и он попросил Вас написать программу, которая, зная результат первого матча и текущий счет на табло во время второго матча, поможет определить, смогут ли зрители наблюдать серию пенальти.

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

Первая строка входного файла содержит результат матча А — Б (на поле команды А) в формате « a : b », где a — число мячей, забитых хозяевами поля, а b , соответственно, гостями ( 0 ≤ a , b < 10 ). Вторая строка в том же формате содержит текущий счет на табло в матче Б — А.

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

В выходной файл выведите слово « YES », если команды могут закончить встречу со счетом, после которого результат противостояния определиться в серии пенальти, иначе — выведите слово « NO ».

Примеры
Входные данные
2:1
0:0
Выходные данные
YES
Входные данные
2:1
0:2
Выходные данные
NO
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
512 megabytes

Петя и Вася — одноклассники и лучшие друзья, поэтому они во всём помогают друг другу. Завтра у них контрольная по математике, и учитель подготовил целых K вариантов заданий.

В классе стоит один ряд парт, за каждой из них (кроме, возможно, последней) на контрольной будут сидеть ровно два ученика. Ученики знают, что варианты будут раздаваться строго по порядку: правый относительно учителя ученик первой парты получит вариант 1, левый — вариант 2, правый ученик второй парты получит вариант 3 (если число вариантов больше двух) и т.д. Так как K может быть меньше чем число учеников N, то после варианта K снова выдаётся вариант 1. На последней парте в случае нечётного числа учеников используется только место 1.

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

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

В первой строке входных данных находится количество учеников в классе 2 ≤ N ≤ 109. Во второй строке — количество подготовленных для контрольной вариантов заданий 2 ≤ K ≤ N. В третьей строке — номер ряда, на который уже сел Петя, в четвёртой — цифра 1, если он сел на правое место, и 2, если на левое.

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

Если Вася никак не сможет писать тот же вариант, что и Петя, то выведите  - 1. Если решение существует, то выведите два числа — номер ряда, на который следует сесть Васе, и 1, если ему надо сесть на правое место, или 2, если на левое. Разрешается использовать только первые N мест в порядке раздачи вариантов.

Примеры тестов

Входные данные
25
2
1
2
Выходные данные
2 2
Входные данные
25
13
7
1
Выходные данные
-1

Примечание

В первом примере вариантов 2, поэтому наилучшее место для Васи находится сразу за Петей. Во втором примере Петя будет единственным, кто получит вариант 13.

Система оценки

Каждый тест в задаче оценивается отдельно. Программа, выдающая правильный ответ только на тесты из условия и тесты с ответом  - 1, не оценивается. Решение тестируется на основном наборе тестов только при прохождении всех тестов из условия. При этом тесты из условия не оцениваются.

Подзадача 1. N ≤ 100. Оценивается из 52 баллов.

Подзадача 2. N ≤ 109. Оценивается из 48 баллов.

ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Как известно, в шахматах горизонтальные строки обозначаются цифрами от 1 до 8, считая от расположения белых фигур, стоящих внизу доски, а вертикальные столбцы – буквами латинского алфавита: A, B, C, D, E, F, G, H.

На шахматной доске в клетке с заданными координатами находиться конь. Для клетки А1 после первого хода возможно перемещение коня на клетку С2 или В3.

Требуется написать программу, которая определяет координаты всех клеток, куда можно пойти конём первым ходом.

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

В единственной входной строке записано обозначение исходной позиции коня на шахматной доске.

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

В единственной строке должны быть записаны через пробел обозначения всех клеток, в которые может переместиться конь после первого хода. Клетки выводятся в следующем порядке: вначале клетки первого ряда слева – направо, далее клетки второго ряда и т.д.

Примеры
Входные данные
A1
Выходные данные
C2 B3 

Страница: << 27 28 29 30 31 32 33 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест