Массивы(232 задач)
Типы данных(356 задач)
Циклы(177 задач)
Условный оператор (if)(164 задач)
Python(260 задач)
Standard Template Library(2 задач)
Имеется 10 колб с водой и известен объем воды в каждой из них. За одно “касание” можно взять одну колбу и часть воды (или всю воду) из этой колбы разлить по одной или нескольким другим колбам в любом количестве. За какое наименьшее количество “касаний” можно уравнять объемы воды во всех колбах? Каждая колба может вместить любой объем воды.
Программа получает на вход 10 целых чисел \(a_i\), каждое записанное в отдельной строке \(--\) объем воды в каждой из колб. Все числа — целые, от 0 до 100.
Выведите одно целое число — минимальное количество “касаний”, за которое можно уравнять объемы воды во всех колбах.
30 26 2 3 4 5 6 7 8 9
2
Дорожка замощена плитками в один ряд, плитки пронумерованы числами от 1 до 1000. На плитках с номерами \(A\), \(B\) и \(C\) (\(A \lt B \lt C\)) сидят три кузнечика, которые играют в чехарду по следующим правилам:
1. На одной плитке может находиться только один кузнечик.
2. За один ход один из двух крайних кузнечиков (то есть с плитки \(A\) или с плитки \(C\)) может перепрыгнуть через среднего кузнечика (плитка \(B\)) и встать на плитку, которая находится ровно посередине между двумя оставшимися кузнечиками (то есть между \(B\) и \(C\) или \(A\) и \(B\) соответственно). Если между двумя оставшимися кузнечиками находится чётное число плиток, то он может выбрать любую из двух центральных плиток.
Например, если кузнечики первоначально сидели на плитках номер 1, 5, 10, то первым ходом кузнечик с плитки номер 10 может перепрыгнуть на плитку номер 3 (она находится посередине между 1 и 5), или кузнечик с плитки номер 1 может перепрыгнуть на плитку номер 7 или 8 (эти две плитки находятся посередине между плитками 5 и 10).
Даны три числа: \(A\), \(B\), \(C\). Определите, какое наибольшее число ходов может продолжаться игра.
Программа получает на вход три целых числа \(A\), \(B\) и \(C\) (\(1\le A \lt B \lt C\leq 1000\)), записанных в отдельных строках.
Выведите одно число — наибольшее количество ходов, которое может продолжаться игра.
1 4 6
2
Телефонные номера в адресной книге мобильного телефона имеют один из следующих форматов:
+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
Даны три строки, состоящие из строчных латинских букв. С этими строками можно производить следующие операции: либо заменить один символ строки на два таких же символа (например, заменить символ «a» на «aa»), либо, наоборот, заменить два подряд идущих одинаковых символа на один такой же символ.
Необходимо при помощи этих операций сделать все три строки равными какой-то другой общей строке S либо определить, что это сделать невозможно. При этом нужно минимизировать общее количество операций.
Программа получает на вход три строки, состоящие из строчных букв латинского алфавита. Длина каждой строки не превышает 100 символов.
Если при помощи указанных операций возможно сделать все три строки равными, выведите такую строку S , что суммарное число операций, необходимых для преобразования всех трёх данных строк к строке S , будет минимальным. Если этого сделать нельзя, программа должна вывести одно слово IMPOSSIBLE (заглавными буквами).
Решение, которое выводит правильный ответ только на тестах из условия и тех тестах, на которых ответом является слово IMPOSSIBLE, будет оцениваться в 0 баллов.
aaaza aazzaa azzza
aazza
xy xxyy yx
IMPOSSIBLE