Информатика

2 621 задачавместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
У Громозеки есть N часов. Стрелка i-х часов (\(1<=i<=N\)) поворачивается на 360 ° ровно за Ti секунд. Изначально стрелка всех часов стоит на месте и направлена прямо вверх. Громозека запускает все часы одновременно. Через сколько секунд стрелка всех часов снова укажет прямо вверх?

Входные данные
В первой строке записано целое число N (\(1<=N<=100\)). В следующих строках записаны целые числа Ti (\(1<=T_i<=10^{18}\)), по одному числу в строке. 

Выходные данные
Выведите на экран ответ. Гарантируется, что ответ не превышает \(10^{18}\).
 

 

Примеры
Входные данные Выходные данные Пояснение
1 2
2
3
6 У нас есть двое часов. Время, когда стрелка каждых часов указывает вверх, выглядит следующим образом:
Часы 1: 2, 4, 6, ... секунд после начала.
Часы 2: 3, 6, 9, ... секунд после начала.
Таким образом, требуется 6 секунд, пока стрелки обоих часов снова не укажут прямо вверх.
2 5
2
5
10
1000000000000000000
1000000000000000000
1000000000000000000  

 

Громозека решил построить строку, которая начинается с A и заканчивается Z, извлекая подстроку строки s (то есть последовательную часть s). Найдите наибольшую длину строки, которую может построить Громозека. Гарантируется, что всегда существует подстрока s, которая начинается с A и заканчивается Z.

Формат входных данных
На вход подается строка s (1 <= длина строки s <= 2·105 ), состоящая из больших английских букв (A-Z).

Формат выходных данных
Выведите на экран ответ на задачу.
 

Пояснение к примерам
1. В первом примере, убрав символы с седьмого по одиннадцатый, можно построить строку ASDFZ, которая начинается с A и заканчивается Z.

✓ 91✗ 162600лёгкаяВойти и решать
Громозека решает задачи по шахматам из сборника для начинающих (ABC), если его текущий рейтинг меньше 1200, и задачи из сборника для клубных игроков (ARC) в противном случае. Вам дается текущий рейтинг Громозеки, x. Выведите ABC, если Громозека будет решать задачи для начинающих, и выведите ARC в противном случае.

Входные данные
На вход подается целое положительно число x.

Выходные данные
Выведите на экран ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 1000 ABC
2 2000 ARC

 

Дано целое число N. Найдите количество положительных делителей числа N!, по модулю \(10 ^ 9 + 7\).

Входные данные
На вход подается целое число N (\(1<=N<=10^3\)).

Выходные данные
Выведите на экран количество положительных делителей числа N!, по модулю \(10 ^ 9 + 7\).
 

 

Примеры
Входные данные Выходные данные
1 3 4
2 6 30
3 1000 972926972

 

В качестве новогоднего подарка Громозека получил строку s длиной 19 следующего формата:
[пять строчных английских букв], [семь строчных английских букв], [пять строчных английских букв].
Громозека хочет преобразовать строку s, разделенную запятыми, в строку, разделенную пробелами. Напишите программу для выполнения преобразования за него.

Входные данные
На вход подается одна строка s, длина строки ровно 19 символов. Шестой и четырнадцатый символы в s - это ,. Остальные символы - строчные буквы английского алфавита (a-z).

Выходные данные
Выведите строку после преобразования
 

 

Примеры
Входные данные Выходные данные
1
happy,newyear,enjoy
happy newyear enjoy

 

✓ 81✗ 107400лёгкаяВойти и решать
Есть изображение высотой H пикселей и шириной W пикселей. Каждый пиксель представлен либо символом . или *. Символ, представляющий пиксель в i-й строке сверху и j-м столбце слева, обозначается Ci,j. Растяните это изображение по вертикали так, чтобы его высота увеличилась вдвое. То есть напечатайте изображение  высотой 2H пикселей и шириной W пикселей, где пиксель в i-й строке и j-м столбце равен C(i+1)/2,j (результат деления округляется в меньшую сторону).

Входные данные
В первой строке записаны два целых числа H и (\(1 <= H, W <=100\)). Затем идут H строк по W символов в строке, где каждый символ либо . либо *.

Выходные данные
Выведите на экран растянутое изображение.
 

 

Примеры
Входные данные Выходные данные
1
2 2
*.
.*
*.
*.
.*
.*
2
1 4
***.
***.
***.
3
9 20
.....***....***.....
....*...*..*...*....
...*.....**.....*...
...*.....*......*...
....*.....*....*....
.....**..*...**.....
.......*..*.*.......
........**.*........
.........**.........
.....***....***.....
.....***....***.....
....*...*..*...*....
....*...*..*...*....
...*.....**.....*...
...*.....**.....*...
...*.....*......*...
...*.....*......*...
....*.....*....*....
....*.....*....*....
.....**..*...**.....
.....**..*...**.....
.......*..*.*.......
.......*..*.*.......
........**.*........
........**.*........
.........**.........
.........**.........

 

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

Входные данные
На вход подается строка s (\(3 <= len(s) <= 10^5\)). Строка состоит только из строчных английских букв (a-z). Никакие два соседних символа в s не равны.

Выходные данные
Если Петя выиграет, выведите First. Если выиграет Ваня, выведите Second.
 

 

Примеры
Входные данные Выходные данные Пояснение
1
aba
Second
Петя не может выполнить операцию, так как удаление символа b, который является единственным символом, который можно удалить, приведет к тому, что s станет равной aa, два одинаковых символа будут соседними.
2
abc
First
Когда Петя удаляет b из s, строка становится равной ac и Ваня не сможет выполнить операцию, поскольку в s нет других символов, за исключением крайних.
3
abcab
First
 

 

✓ 130✗ 303700средняяВойти и решать
Вам даны неотрицательные целые числа a и b (a<=b) и положительное целое число x. Сколько целых чисел от a до b включительно делятся на x?

Входные данные
В одной строке задаются три числа a, b и x (\(0<=a<=b<=10^{18}\), \(1<=x<=10^{18}\)).

Выходные данные
Выведите на экран ответ на задачу.
 

 

Примеры
Входные данные Выходные данные Пояснение
1 4 8 2 3 Есть три целых числа от 4 до 8 включительно, которые делятся на 2: 4, 6 и 8.
2 0 5 1 6 Есть шесть целых чисел от 0 до 5 включительно, которые делятся на 1: 0, 1, 2, 3, 4 и 5.
3 9 9 2 0 Нет целого числа от 9 до 9 включительно, которое делится на 2.
4 1 1000000000000000000 3 333333333333333333 Остерегайтесь целочисленных переполнений!

 

Есть три упаковки конфет, каждая из которых содержит конфеты в количестве a, b и c штук соответственно. Двое воспитанников детского сада Сластена дерутся из-за этих конфет. Воспитательница Анна Николаевна пытается распределить пачки между двумя воспитанниками таким образом, чтобы каждый получил одинаковое количество конфет. Определите, возможно ли это.
Обратите внимание, что Анна Николаевна не может вынимать конфеты из упаковки, и все содержимое каждой упаковки должно быть отдано одному из учеников.

Входные данные
Во входной строке содержится три числа a, b и c (\(1<=a,b,c<=100\)).

Выходные данные
Если есть возможность распределить упаковки так, чтобы каждый воспитанник получил одинаковое количество конфет, выведите Yes. В противном случае выведите No.
 

 

Примеры
Входные данные Выходные данные Пояснение
1 10 30 20 Yes Раздайте пачку с 30 конфетами одному, а две пачки по 10 и 20 конфет - другому. Каждый получает по 30 конфет.
2 30 30 100 No В этом случае у воспитанника, который получает упаковку со 100 конфетами, всегда больше конфет, чем у другого.
Обратите внимание, что каждую упаковку нужно отдать одному из них.
3 56 25 31 Yes  

 

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

Входные данные
Входная строка содержит два целых числа N и K (\(1<=N<=1000\)\(2<=K<=1000\)).

Выходные данные
Выведите на экран ответ на задачу. Гарантируется, что верный ответ не превышает \(2^{31}-1\).
 

 

Примеры
Входные данные Выходные данные
1 2 2 2
1 1 10 10

 

Громозека недавно купил три баллончика с краской. Цвет того, который он купил два дня назад, - a, цвет того, который он купил вчера, - b, и цвет того, что он купил сегодня, - c. Цвет каждого баллончика с краской условно представлен целым числом от 1 до 100 включительно. Поскольку Громозека забывчивый, он мог купить несколько баллончиков с краской одного цвета. Подсчитайте количество разных цветов этих баллончиков с краской и скажите ему.

Входные данные
В одной строке записаны три целых числа a, b и c (\(1 <= a,b,c<=100\)).

Выходные данные
Выведите на экран ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 3 1 4 3
2 3 3 33 2

 

Для выбора водящего в детской игре N человек становятся в круг, после чего произносится считалка. На первом слове считалки указывается на первого человека в кругу, на втором слове – на второго человека и т. д. После N-го человека снова идёт первый человек (все люди в кругу пронумерованы числами от 1 до N, круг зацикливается, после человека с номером N идёт человек с номером 1).
Всего в считалке M слов. Определите, на какого человека придётся последнее слово считалки.
Программа получает на вход два целых положительных числа. Первое число N – количество людей в кругу. Второе число M – количество слов в считалке. Оба числа не превосходят 109.
Программа должна вывести одно целое число от 1 до N – номер человека в кругу на которого придётся последнее слово считалки.
Примеры
Входные данные Выходные данные
1 10
25
5
✓ 96✗ 259500лёгкаяВойти и решать
Сегодня в школе на уроке математики проходят делимость. Чтобы продемонстрировать свойства делимости, учитель выписал на доске все целые числа от 1 до
N в несколько групп, при этом если одно число делится на другое, то они обязательно оказались в разных группах. Например, если взять N = 10, то получится 4 группы.
  • Первая группа: 1.
  • Вторая группа: 2, 7, 9.
  • Третья группа: 3, 4, 10.
  • Четвёртая группа: 5, 6, 8.
Вы уже догадались, что, поскольку любое число делится на 1, одна группа всегда будет состоять только из числа 1, но в остальном подобное разбиение можно выполнить различными способами. От вас требуется определить минимальное число групп, на которое можно разбить все числа от 1 до N в соответствии с приведённым выше условием.
Программа получает на вход одно натуральное число N, не превосходящее 109, и должна вывести одно число – искомое минимальное количество групп.
Примеры
Входные данные Выходные данные
1 10 4
Алёна собирает вещи в отпуск. С собой в самолёт она может взять ручную кладь и багаж. Для ручной клади у Алёны есть рюкзак, а для багажа – огромный чемодан.
По правилам перевозки масса ручной клади не должна превосходить S кг, а багаж может быть любой массы (за сверхнормативный багаж Алёна готова доплатить). Разумеется,
наиболее ценные вещи – ноутбук, фотоаппарат, документы и т. д. – Алёна хочет положить в ручную кладь.
Алёна разложила все свои вещи в порядке уменьшения их ценности и начинает складывать наиболее ценные вещи в рюкзак. Она действует следующим образом – берёт
самый ценный предмет, и если его масса не превосходит S, то кладёт его в рюкзак, иначе кладёт его в чемодан. Затем она берёт следующий по ценности предмет, если его можно
положить в рюкзак, то есть если его масса вместе с массой уже положенных в рюкзак вещей не превосходит S, то кладёт его в рюкзак, иначе в чемодан, и таким же образом процесс
продолжается для всех предметов в порядке убывания их ценности.
Определите вес рюкзака и чемодана после того, как Алёна сложит все вещи.

Первая строка входных данных содержит число S – максимально разрешённый вес рюкзака. Во второй строке входных данных записано число N – количество предметов.
В следующих N строках даны массы предметов, сами предметы перечислены в порядке убывания ценности (сначала указана масса самого ценного предмета, затем масса второго по
ценности предмета и т. д.). Все числа натуральные, число S не превосходит 2×109, сумма весов всех предметов также не превосходит 2×109. Значение N не превосходит 105.

Программа должна вывести два числа – вес рюкзака и вес чемодана (вес пустого рюкзака и чемодана не учитывается).
Примеры
Входные данные Выходные данные Пояснение
1 20
5
6
10
5
2
3
18 8 Максимально возможная масса рюкзака 20 кг. Дано 5 предметов весом 6, 10, 5, 2, 3.
Сначала предмет весом 6 кладётся в рюкзак, затем предмет весом 10 тоже кладётся в рюкзак. Предмет
весом 5 нельзя положить в рюкзак, так как тогда вес рюкзака станет 21 кг, поэтому предмет весом 5
кладётся в чемодан. Затем предмет весом 2 кладётся в рюкзак, а предмет весом 3 – в чемодан. Вес
рюкзака 6 + 10 + 2 = 18, вес чемодана 5 + 3 = 8.
✓ 95✗ 110600лёгкаяВойти и решать
Плот#38489
Посередине озера плавает плот, имеющий форму прямоугольника. Стороны плота направлены вдоль параллелей и меридианов. Введём систему координат, в которой ось OX направлена на восток, а ось ОY – на север. Пусть юго-западный угол плота имеет координаты (x1, y1), северо-восточный угол – координаты (x2, y2).
Пловец находится в точке с координатами (x, y). Определите, к какой стороне плота (северной, южной, западной или восточной) или к какому углу плота (северо-западному, северо-восточному, юго-западному, юго-восточному) пловцу нужно плыть, чтобы как можно скорее добраться до плота.
Программа получает на вход шесть чисел в следующем порядке: x1, y1 (координаты юго-западного угла плота), x2, y2 (координаты северо-восточного угла плота), x, y (координаты пловца). Все числа целые и по модулю не превосходят 100. Гарантируется, что x1 < x2, y1 < y2, x ≠ x1, x ≠ x2, y ≠ y1, y ≠ y2, координаты пловца находятся вне плота.
Если пловцу следует плыть к северной стороне плота, программа должна вывести символ «N», к южной – символ «S», к западной – символ «W», к восточной – символ «E». Если пловцу следует плыть к углу плота, нужно вывести одну из следующих строк: «NW», «NE», «SW», «SE».
 
Примеры
Входные данные Выходные данные Пояснение
1 -1
-2
5
3
-4
6
NW
Пусть s - строка, состоящая из строчных букв. Мы будем называть строку s красивой, если каждая строчная буква английского алфавита встречается в ней четное количество раз. По заданной строке s, определите, красива ли она.

Входные данные
На вход подается строка. Длина строки не нулевая и не более 100 символов. Строка состоит только из строчных английских букв (a-z).

Выходные данные
Выведите Yes если s красива, в противном случае, выведите No.
 

 

Примеры
Входные данные Выходные данные
1 abaccaba Yes
2 hthth No

 

✓ 40✗ 82600лёгкаяВойти и решать

Некоторый отель установил следующую плату за проживание:

  • X рублей за ночь, за первые K ночей;
  • Y рублей за ночь, за (K+1)-ю и последующие ночи.

Громозека решил остаться в этом отеле на N последовательных ночей. Посчитайте общую стоимость проживания Громозеки в данном отеле.



Входные данные
На вход подаются 4 положительных целых числа: NKX(\(1<=N,K<=10000\)\(1<=Y<X<=10000\)). По одному числу в строке.

Выходные данные
Выведите на экран общую стоимость размещения в данном отеле.
 

 

Примеры
Входные данные Выходные данные Пояснение
1 5
3
10000
9000
48000 Стоимость размещения:

10000 руб. за 1-ю ночь;
10000 руб. за 2-ю ночь;
10000 руб. за 3-ю ночь;
9000 руб. за 4-ю ночь;;
9000 руб. за 5-ю ночь;
Итого: 48000 рублей.
 
2 2
3
10000
9000
20000  

 

Громозека построил собственную клавиатуру. Эта клавиатура разработана для максимальной простоты, на ней всего 3 клавиши: клавиша 0, клавиша 1 и клавиша backspace.

Тестировать собственную клавиатуру Громозека решил в текстовом редакторе. Этот редактор всегда отображает одну строку (возможно, пустую). При запуске редактора эта строка пуста. При нажатии каждой клавиши на клавиатуре в строке происходят следующие изменения:
- клавиша 0: символ 0 будет вставлен справа от строки;
- клавиша 1: символ 1 будет вставлен справа от строки;
- клавиша backspace: если строка пуста, ничего не происходит. В противном случае удаляется крайняя правая буква строки.

Громозека запустил редактор и несколько раз нажал эти клавиши. Вам дана строке s, которая является записью нажатий клавиш по порядку. В этой строке символ 0 обозначает клавишу 0, символ 1 обозначает клавишу 1, а символ B обозначает клавишу backspace. Определите какая строка теперь отображается в редакторе?

Входные данные
На вход подается строка (\(1 <= len(s) <=10\)). Строка состоит из символов 01 или B.

Выходные данные
Выведите на экран ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1
01B0
00
2
0BB1
1

 

✓ 67✗ 88700средняяВойти и решать

Ироха любит Хайку. Хайку - это жанр традиционной японской лирической поэзии вака, известный с XIV века. Хайку состоит из трех фраз с 5, 7 и 5 слогами, именно в такой последовательности (схема 5-7-5). Для создания Хайку Ироха придумала три разные фразы. В этих фразах a, b и с слогов соответственно. Определите, может ли Ироха построить Хайку, используя каждую из фраз один раз в определенном порядке. 


Входные данные
На вход подаются три натуральных числа a, b и с (\(1 <= a, b, c <= 10\)) .

Выходные данные
Если возможно построить Хайку, используя каждую из фраз по одному разу, выведите YES (с учетом регистра). В противном случае выведите NO.
 

 

Примеры
Входные данные Выходные данные
1 5 5 7 YES
2 5 7 7 NO
Ручка стоила K рублей. Первого сентября стоимость ручки увеличилась ровно на P процентов. Определите, сколько ручек можно купить на S рублей после подорожания.
Программа получает на вход три целых положительных числа. Первое число K – стоимость ручки в рублях до подорожания. Второе число P – величина подорожания ручки
в процентах. Третье число S – имеющаяся сумма денег. Числа K и S не превосходят 107 , число P не превосходит 100.
 
Примеры
Входные данные Выходные данные Пояснение
1 33
5
100
2 Ручка стоила 33 рубля. После подорожания на 5 % ручка будет стоить 34 рубля 65 копеек (заметим, что, поскольку первоначальная
цена ручки была целым числом рублей, после подорожания стоимость ручки будет выражаться целым числом рублей и копеек).
На 100 рублей после подорожания можно купить 2 ручки.
Поделиться
Класснуть