Информатика

15 732 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Дядя Фёдор, кот Матроскин и Шарик решили обновить забор вокруг своего сада в Простоквашино. Матроскин и Шарик, недолго думая, вкопали N столбов вдоль одной из сторон участка. Это очень сильно расстроило Дядю Фёдора, так как его друзья забыли о самом главном — калитка должна находиться именно на этой стороне, и для неё необходимо было оставить проём шириной как минимум W. Теперь им придётся выкапывать некоторые столбы.
 
Чтобы работа не пропадала даром, выкопать надо как можно меньше столбов. Помогите Дяде Фёдору определить, какие именно столбы надо выкопать. После выкапывания столбов должен найтись промежуток (между двумя оставшимися столбами, или между оставшимся столбом и концом стороны участка, или между двумя концами стороны участка) ширины больше или равной W.
 
Входные данные
Первая строка содержит два целых числа N и W — количество вкопанных столбов и минимально необходимую ширину проёма для калитки соответственно. Гарантируется, что 0<=N<=30000 и что 0<=W<=60000.
 
Будем считать, что вдоль интересующей нас стороны участка введена ось координат. Во второй строке входного файла находятся два числа L и R — координаты левого и правого конца этой стороны (LR). Далее следуют N чисел — координаты вкопанных столбов. Все координаты (включая L и R) — различные целые числа, по модулю не превосходящие 30000. Гарантируется, что все столбы вкопаны между левым и правым концами стороны.
 
Выходные данные
В первой строке выходного файла должно быть минимальное число столбов, которые надо выкопать. Далее должны следовать номера этих столбов. Столбы нумеруются в том порядке, как они указаны во входном файле, начиная с 1.
 
Если решений несколько, то вы можете вывести любое. Если решения нет, то выведите в выходной файл одну строку, содержащую число -1.
 
Ввод Вывод
3 2
2 6
3 4 5
1
2
3 2
1 6
4 3 5
0
3 5
1 7
5 3 4
3
2
1
3
Недавно на лесопилку, где работает Вася, поступил новый заказ. Для постройки нового дома мэру соседнего города требуется a досок длины x футов и b досок длины y футов.
 
Поскольку на лесопилке имеется только неограниченный запас досок длины z футов, Васе поручили исполнить заказ клиента, распилив имеющиеся доски на меньшие. Вася хочет закончить работу как можно быстрее, поэтому он хочет выполнить заказ, сделав как можно меньше распилов. При этом количество использованных досок длины z роли не играет, кроме того, часть досок, образовавшихся в результате распила, может не требоваться для заказа и остаться на лесопилке.
 
Например, если на лесопилке имеются доски длины 80, а клиенту требуется две доски длины 30 и семь досок длины 20, то достаточно сделать семь распилов: одну доску распилить двумя распилами на доски длины 20, 30 и 30, одну тремя распилами на четыре доски длины 20 и одну двумя распилами на доски длины 20, 20 и 40. Доска длины 40 клиенту не нужна, она останется на лесопилке, остальные доски будут отправлены клиенту.
 
Входные данные
На вход программы поступают числа a, x, b, y и z. Все числа положительны и не превышают 300, x<=z, y<=z, x!=y.
 
Выходные данные
Выведите  минимальное количество распилов, которые требуется сделать для того, чтобы выполнить заказ.
 
Ввод Вывод
2 30 7 20 80 7

 
На столе лежат N камней. За ход игрок может взять:
- 1 или 2 камня, если N делится на 3;
- 1 или 3, если N при делении на 3 дает остаток один;
- 1, 2 или 3, если N при делении на 3 дает остаток два.
Каждый ход можно сделать при наличии достаточного количества камней. Проигрывает тот, кто хода сделать не может.
 
Входные данные: вводится целое число \(0 < N <= 100\).
 
Выходные данные: выведите 1 или 2 – номер игрока, который выиграет при правильной игре.
 
Примеры
Входные данные Выходные данные
1 1 1
2 3 2

 
Папа Воси покупал ёлочку 31 декабря, поэтому ему впихали последнюю и очень странную. У этой ёлочки всего 2 ветки, и каждая из них разветвляется ещё на две ветки, и эти ветки ещё на две, и ещё, и ещё... и так N  раз.
Вося захотел повесить на бедное дерево свои любимые ёлочные игрушки: разноцветные шарики с красивой надписью "С++". Но Восе удобно вешать свои шарики только на "конечные" веточки (веточки, которые не разветвляются), и ему даже не лень стало из сосчитать. В итоге Вося повесил на ёлочку K шариков и пошёл помогать маме стругать оливье.
Тогда до ёлочки добралась его сестра, начинающий математик Доша. Она захотела украсить ёлочку мишурой, наматывая её на каждую ветку (одна мишура на одну ветку). Считать она, однако, умеет только до 100, поэтому позвонила своему другу, то есть вам, с просьбой сказать, сколько мишуры ей нужно.
Считайте, что вы следили за этой ёлочкой, поэтому знаете и N, и K (0  <  N, K  <=  10^9). Помогите Доше как можно быстрее, ведь ей пора бежать за тазиком для оливье.

Ввод Вывод
90 84 173


(c) Неверов З., Дзензилюк И., Щипунова Е., 2018 г.
Любимая компьютерная игра Васи называется “Overtouched”. В начале игры на
экране появляются несколько рядов с разноцветными шариками. Игрок нажимает на любой шарик, после чего все шарики такого же цвета удаляются. После удаления все оставшиеся шарики сдвигаются влево так, чтобы в ряду между соседними шариками не оставалось пустых мест, порядок шариков в ряду при этом не изменяется. 
Нужно вывести все оставшиеся шарики.

Формат входных данных:
Вводятся числа n и m (0 <n,m < 1^9999999999 + 11) – количество строк и шариков в каждой строке соответственно. Затем вводится цвет каждого шарика. В следующей строке вводится цвет шариков k, которые нужно удалить.

Формат выходных данных:
Выводятся оставшиеся шарики после удаления.
 
Ввод Вывод
4 3
1 2 3
4 2 2
1 7 6
2 2 2
2
1 3
4
1 7 6
(с) Кабицкий А., 2018г.
В игре кунтер-струк: локальное отступление добавили новое НЕЛЕТАЛЬНОЕ оружие с названием ХАХАЙКА. Суть ХАХАЙКИ заключается в том, что она заставляет обрадоваться каждого персонажа на N секунд. Число секунд высчитывается по определённой формуле, которая состоит из модуля произведения округленного вверх корней уравнения ax2+bx+c=0 и умноженного на количество секунд удержания сочетаний клавиш “Alt + f4”=m. От вас требуется найти количество N секунд, если это невозможно, то вывести на экран -1;

Формат входных данных
На вход подаются числа a,b,c,m  -10*100^4 ≤ a, b, c ≤ 10*100^4; 1 ≤ m ≤ 10*100^4
Выводится одно целое число, количество N секунд.

Ввод Вывод
1 -2 1 5 5
1 3 2 4 8

(c) Ковешников М., 2018 г.
Однажды, Вася взял без спроса у бабушки пульт от телевизора и выбежал во двор с прямого хода. Радиус двора - R метров. Прямой путь от парадного выхода до калитки - хорда AB, являющаяся диаметром этой окружности. Добежав до центра окружности, он увидел деда выскочившего ему наперерез. Василий принял решение сбежать через дырку в заборе. Но чтобы не портить бабушкины цветы и тем самым не добить её своим поступком, он подумал что лучше всего бежать по дорожкам. На картинке они обозначены.


Близжайщая тропинка ведущая до дырки - AC, к ней от центра ведёт дорожка ОН. 
 
Подсчитайте расстояние которое ему предстоит пробежать c момента как он выскочил из дома.
1 < R < AC < 10^18

Входные данные:
10 16
Выходные данные
24.000

(с) Медведев Д., 2018
Однажды на огород к Ивану Петровичу (сыну Деда Мороза и Снегурочки) забежало целых три оленя. Известно, что олени — весьма агрессивное нечто, особенно когда речь идет о борьбе за вкусную зелень. Поэтому каждый из трех оленей, заметив других козлов, замер на месте и начал наблюдать за оставшимися оленями: одним глазом за одним оленем, другим — за оленем номер 2. Естественно, для этого оленю нужно “косить” глазами.
Определите наибольший угол, на который пришлось “раскосить” глазами этим странным животным. Причём тут Иван Петрович и мы, и как олени “раскосили” глаза, мы в душе не знаем. Своего дилера мы не сдадим.
Программа получает на вход координаты трех точек, в которых стоят олени (сначала координаты первого оленя, затем — второго и третьего). Координаты — пара целых чисел, не превосходящих 104 по модулю.
 
Ввод Вывод
0 0 3 0 0 4 90.000000
(с) Манаев И., Кашукова М., 2018 г.
Дед Мороз очень любит раздавать «подарочки» и если он долго их не раздаёт, то начинает грустить и поедать печеньки (не факт, что печеньки не олени). И он начинает толстеть, но когда он дарит хотя бы один подарочек, то возвращается к начальному весу (Т-Т ©Маша). На какой максимальный вес потолстеет Дед Мороз, если на одном отрезке он дарит по 1 подарку на каждый целый индекс, а всего он обойдёт m домов. Даны n отрезков пути для Деда Мороза на его траектории раздачи подарочков и сами отрезки. Также дано количество домов, которое он обойдёт.
Изначальный вес Деда Мороза 227 ± 1 кг.

Ввод Вывод
3 12
2 6
3 9
3 4
3
(с) Манаев В., Кашукова М., 2018 г.
П 55#33108
Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наибольший из элементов массива, восьмеричная запись которого содержит не менее трёх цифр и оканчивается на 5. Если таких чисел нет, нужно вывести ответ 0.

Элементы массива вводятся по одному в строке
33100#33100
На вход программы подаются произвольные алфавитно-цифровые символы. Ввод этих символов заканчивается точкой. Требуется написать программу, которая будет печатать последовательность строчных английских букв ('a' 'b'... 'z') из входной последовательности и частот их повторения. Печать должна происходить в алфавитном порядке.

Например, пусть на вход подаются следующие символы:
fhb5kbfыshfm.
В этом случае программа должна вывести
b2
f3
h2
k1
m1
s1
Выведите на экран все нечетные числа от b до 1 (b вводится с клавиатуры, нечетное число)
Входные данные: 
С клавиатуры задается одно число b (1<=b<=999, b - нечетное)
выходные данные 
Необходимо вывести все нечетные числа в столбик

Запрещено использовать условный оператор

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

11
Выходные данные
11
9
7
5
3
1
Выведите на экран все четные числа от 2 до b (b вводится с клавиатуры)
Входные данные: 
С клавиатуры задается одно число b (2<=b<=1000)
выходные данные 
Необходимо вывести все четные числа в столбик

Запрещено использовать условный оператор

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

11
Выходные данные
2
4
6
8
10
Дан вес в фунтах, напечатать таблицу соответствия данного веса числу полных килограмм в данном весе для значений от 1 до n (n вводится с клавиатуры, 5<=n<=100). 1 фунт = 453 г.

Входные данные
С клавиатуры задается одно число n.

Выходные данные 
Необходимо вывести таблицу соответствия фунтов и полного числа килограмм (см примеры). Перед и после знака >= стоит один пробел. Других пробелов нет. 
 
Примеры
Входные данные
10

Выходные данные
1lb >= 0kg
2lb >= 0kg
3lb >= 1kg
4lb >= 1kg
5lb >= 2kg
6lb >= 2kg
7lb >= 3kg
8lb >= 3kg
9lb >= 4kg
10lb >= 4kg
Составить программу, которая выводит на экран квадраты всех целых чисел от 1 до b включительно (значение b вводится с клавиатуры, 10<=b<=100).

Входные данные
С клавиатуры задается одно число b.

Выходные данные 
Необходимо вывести квадраты чисел от 1 до b включительно (см пример выходных данных). Пробелов в каждой строке нет.
 
Примеры
Входные данные
5

Выходные данные
1*1=1
2*2=4
3*3=9
4*4=16
5*5=25

 
Дано четырехзначное число. Определите сколько нечетных цифр в нем.

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

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

 

Пример
Входные данные Выходные данные
1 4732 2
Дано четырехзначное число. Определите сколько четных цифр в нем.

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

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

 

Пример
Входные данные Выходные данные
1 4732 2
Вася загадал число от 1 до N. За какое наименьшее количество вопросов (на которые Вася отвечает "да" или "нет") Петя может угадать Васино число?
 
Входные данные
Вводится одно число N
 
Выходные данные
Выведите наименьшее количество вопросов, которого гарантированно хватит Пете, чтобы угадать Васино число.
 
Ввод Вывод
5 3
Дано двузначное число. Определите является ли сумма его цифр двузначным числом. Если нет, то через сколько чисел встретиться первое двузначное число, удовлетворяющее этому условию.

Входные данные 
С клавиатуры вводится одно число N (\(10 <= N <= 99\)).

Выходные данные 
Выведите на экран слово YES, если сумма цифр числа N - двузначное число, иначе вывести на экран число, которое показывает через сколько чисел от исходного N встретиться первое число, сумма цифр которого будет двузначным числом.
 

 

Примеры
Входные данные Выходные данные
1 65 YES
2 25 3
Поделиться
Класснуть