Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
Телефонные номера в адресной книге мобильного телефона имеют один из следующих форматов:
+7<код><номер>
8<код><номер>
<номер>
где <номер>
— это семь цифр, а <код>
— это три цифры или три цифры в круглых скобках. Если код не указан, то считается, что он равен 495. Кроме того, в записи телефонного номера может стоять знак “-
” между любыми двумя цифрами (см. пример).
На данный момент в адресной книге телефона Васи записано всего три телефонных номера, и он хочет записать туда еще один. Но он не может понять, не записан ли уже такой номер в телефонной книге. Помогите ему!
Два телефонных номера совпадают, если у них равны коды и равны номера. Например, +7(916)0123456
и 89160123456
— это один и тот же номер.
В первой строке входных данных записан номер телефона, который Вася хочет добавить в адресную книгу своего телефона. В следующих трех строках записаны три номера телефонов, которые уже находятся в адресной книге телефона Васи.
Гарантируется, что каждая из записей соответствует одному из трех приведенных в условии форматов.
Для каждого телефонного номера в адресной книге выведите YES
(заглавными буквами), если он совпадает с тем телефонным номером,
который Вася хочет добавить в адресную книгу или NO
(заглавными буквами) в противном случае.
8(495)430-23-97 +7-4-9-5-43-023-97 4-3-0-2-3-9-7 8-495-430
YES YES NO
У Пети имеется игровое поле размером \(3\times3\), заполненное числами от 1 до 9. В начале игры он может поставить фишку в любую клетку поля. На каждом шаге игры разрешается перемещать фишку в любую соседнюю по стороне клетку, но не разрешается посещать одну и ту же клетку дважды. Петя внимательно ведет протокол игры, записывая в него цифры в том порядке, в котором фишка посещала клетки. Пете стало интересно, какое максимальное число он может получить в протоколе. Помогите ему ответить на этот вопрос.
Входной файл содержит описание поля — 3 строки по 3 целых числа, разделенных пробелами. Гарантируется, что все девять чисел различны и лежат в диапазоне от 1 до 9.
Выведите одно целое число — максимальное число, которое могло получиться в протоколе при игре на данном поле.
Ответ можно выводить не в виде числа, а в виде строки или в виде последовательности отдельных цифр (но не разделяя их пробелами).
Ввод | Вывод |
---|---|
1 2 3 |
987456321 |
На олимпиаду по информатике пришло N участников. Известно, в каких школах учатся участники олимпиады. В компьютерном классе имеется N компьютеров, стоящих в линию вдоль стены. Вам необходимо рассадить участников олимпиады так, чтобы никакие два участника из одной школы не сидели рядом.
Программа получает на вход целое положительное число участников олимпиады \(N \le 1000\). Далее в N строках записаны номера школ, в которых учатся участники олимпиады. Номера школ — целые числа от 1 до 3000.
Программа должна вывести N чисел — номера школ участников олимпиады в том порядке, в котором их необходимо рассадить в компьютерном классе. Выведенная последовательность номеров школ должна быть перестановкой данных номеров школ. В выведенном ответе не должно быть двух одинаковых номеров школ, идущих подряд.
Если задача не имеет решения, необходимо вывести одно число 0.
Числа можно выводить как в отдельных строках, так и в одной строке через пробел. Если есть несколько вариантов рассадки, то необходимо вывести любой из них (но только один).
4 1005 1005 5 2005
1005 5 1005 2005
4 1005 1005 2005 1005
0
В одной школе издавна велись соревнования в информатической силе между классами одной параллели. По введённой учителями шкале информатическая сила класса — это суммарное количество задач, решённых всеми школьниками этого класса на последней районной олимпиаде. Соревновательный дух школы весьма высок, а значит, каждый участник решил хотя бы одну задачу.
В школьной летописи сохранились информатические силы двух классов, \(A\) и \(B\), а также количество задач на олимпиаде \(N\). Завучу, нашедшему летопись, очень хочется узнать, могло ли быть в первом классе больше учеников, чем во втором.
Напишите программу, которая определит, могло ли быть учеников в классе с информатической силой \(A\) больше, чем учеников в классе с информатической силой \(B\).
Вводятся три целых числа, каждое в своей строке — \(A\), \(B\), \(N\) (\(0 \le A, B \le 10 000, 1 \le N \le 10 000\)).
Выведите «Yes», если в первом классе могло быть больше учеников, чем во втором, и «No», в противном случае.
Тесты к этой задаче состоят из трех групп.
60 30 4
Yes
30 30 1
No
30 150 4
No
В одном известном всем городе скоро стартуют Зимние Олимпийские игры. В связи с этим организаторы игр решили провести эстафету Олимпийского огня — самую продолжительную и масштабную в истории Олимпийских игр. Эстафета состоит из \(N\) этапов, каждый длиной \(a_i\) километров (\(1 \le i \le N\)). У организаторов имеется большое количество олимпийских факелов, каждый из которых может непрерывно гореть на протяжении \(K\) километров забега. По правилам эстафеты каждый факел используется только один раз. В начале каждого этапа участникам эстафеты выдаётся некоторое число факелов, такое, чтобы олимпийский огонь удалось донести до конца этапа. По окончании этапа все использованные (полностью или частично) факелы передаются в дар своим факелоносцам.
Напишите программу, которая по известной схеме эстафеты олимпийского огня, определяет необходимое суммарное количество факелов для проведения эстафеты.
В первой строке заданы два натуральных числа \(N\) и \(K\) (\(N \le 100, K \le 10^6\) ).
Во второй строке заданы \(N\) натуральных чисел \(a_i (a_i \le 10^6 )\).
В первой строке выведите одно натуральное число \(F\) — количество факелов, которое понадобится организаторам для проведения эстафеты олимпийского огня.
В данной задаче баллы за каждый тест начисляются независимо от прохождения остальных тестов и суммируются.
4 3 3 5 4 1
6
10 1 1 2 3 4 5 6 7 8 9 10
55