Информатика

15 732 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
2 в 2007#42694
Напишите программу, которая вычисляет выражение 22007. Выведите в первой строке строку, представляющую из себя число, образованное цифрами, стоящими в позициях с индексами 20, 0 и 7 вычисленного значения. Во второй строке выведите сумму цифр, стоящих на тех же позициях. Нумерация цифр начинается слева с нуля.
Инопланетная исследовательская экспедиция во главе с Диком Соломоном пытается вести жизнь обычной человеческой семьи. Совсем недавно они узнали, что сухое молоко состоит из молочного жира и обезжиренного сухого молока. Самый любимый продукт, изготовляемый из сухого молока - продукт типа мороженного. Испробовав достаточно большое количество образцов, члены экспедиции выделили 4 основные категории:
  • продукт типа мороженого с содержанием не менее 15 процентов сухого молока и не менее 8 процентов молочного жира называется мороженым (1);
  • продукт типа мороженого с содержанием не менее 10 процентов сухого молока и не менее 3 процентов молочного жира, который не является мороженым, называется мороженым со льдом (2);
  • тип мороженого продукта с содержанием сухого молока не менее 3 процентов, который не является мороженым или молоком со льдом, называется лакто-льдом (3);
  • продукт типа мороженого, который не является мороженым, ледяным молоком или лакто-льдом, называется ароматизированным льдом (4).
Дик Соломон, возвращаясь с работы купил мороженое, которое содержит А% сухого обезжиренного молока и B% молочного жира. И он опять забыл к какой категории относится это мороженое. Помогите ему определить категорию мороженого?
Выведите свой ответ в виде целого числа.

Входные данные
Единственная строка ввода содержит два целых числа A и B, записанных через пробел (0 <= A, B <= 100, A+B <= 100).

Выходные данные
Выведите экран целое число:
1 - если это мороженое;
2 - если это ледяное молоко;
3 - если это лакто-лед;
4 - это ароматизированный лед.


Используйте вложенные условия (конструкцию elif для языка Python и else if для других языков).
 
Примеры
Входные данные Выходные данные Примечание
1 10 8 1 Этот продукт содержит 10 процентов сухого обезжиренного молока и 8 процентов молочного жира, в общей сложности 18 процентов сухого молока.
Поскольку в нем содержится не менее 15 процентов сухого молока и не менее 8 процента молочного жира, это мороженое; правильный ответ 1.
2 1 2 3  
Дано натуральное число n. Создайте массив A[2*n+1][2*n+1] и заполните его по спирали, начиная с числа 0 в центральной клетке A[n+1][n+1]. Спираль выходит вверх, далее закручивается против часовой стрелки.

Формат входных данных
Программа получает на вход число  n.

Формат выходных данных
Программа должна вывести полученный массив. Каждый элемент массива необходимо записывать в трех знакоместах.
 
Примеры
Входные данные Выходные данные
1 2
 12 11 10  9 24
 13  2  1  8 23
 14  3  0  7 22
 15  4  5  6 21
 16 17 18 19 20
На третью планету от Солнца отправили n космических кораблей для сбора различных объектов для изучения. На каждом корабле было размещено по m контейнеров различного объема. После изучения планеты, отобрано n·m экземпляров. Командный состав решил взять несколько экземпляров самого большого объема. Необходимо определить какой объем должен иметь самый большой экземпляр, чтобы его можно было вывезти с планеты, а также количество кораблей и их номера, на которые можно поместить самые большие экземпляры. Все корабли пронумерованы, начиная с нуля.

Входные данные
Первая строка содержит два целых числа n и m: n - количество кораблей, отправленных на третью планету (1 <= n <= 100), m - количество контейнеров на каждом корабле. В следующих n строках содержат по m чисел, каждое из которых показывает объем контейнера (1 <= m <= 100, каждое число - неотрицательное не более 100). 

Выходные данные
Выведите в первой строке - количество космических кораблей, которыми можно привезти самый большой экземпляр, через пробел максимальный объем, который можно вывезти с планеты. На следующей строке выведите через пробел номера кораблей (нумеруются с нуля), на которые можно загрузить самый большой экземпляр.
 
Примеры
Входные данные Выходные данные
1
3 3
1 2 3
3 5 4
5 2 2
2 5
1 2
С востока на запад простираются горы, а на западе - океан. На вершине каждой горы есть отель. Вы хотите выбрать, в каком отеле остановиться. Высота i-й горы с запада равна Hi. Вы, конечно, можете увидеть океан из отеля, который расположен на вершине самой западной горы. Для отеля на вершине i-й горы с запада (i = 2, 3, ..., N) вы сможете увидеть океан тогда и только тогда, когда H1<=HiH2<=Hi, ... и Hi-1<=Hi. Посчитайте, со скольких из этих отелей вы сможете увидеть океан?

Входные данные
В первой строке записано натуральное число N (1 <= N <= 20) - количество гор. Вторая строка содержит N чисел Hi (1 <= Hi <= 100) высоты гор, начиная с самой западной (первой).


Выходные данные
Выведите количество отелей, из которых вы сможете увидеть океан.
 
 
Примеры
Входные данные Выходные данные
1
4
6 5 6 8
3
2
5
4 5 3 5 4
3
3
5
9 5 6 8 4
1
Дениска хочет отправиться в космическое путешествие на кораблях с варп-двигателями. Для этого он купил космическую дорожную карту. На первой открытой межгалактической варп-линии, управляемой МТК (Межзвездной транспортной компанией), есть N станций. i-я станция (1<=i<=N) от начальной станции называется Si.
Обычные космические корабли останавливаются на всех станциях, в то время как варп-корабли (космические корабли с варп-двигателями) останавливаются только на M (M <= N) станциях, а j-я станция (1 <= j <= M) - это станция с именем Tj.
Здесь гарантируется, что T1 = S1 и T= SN , то есть варп-корабли останавливаются как на начальной, так и на конечной станциях.
Дениска хочет прокатиться на варп-корабле. Для каждой из N станций определите, сможет ли Дениска попасть на эту станцию на варп-корабле.

Входные данные
Программа получает на вход три строки. Первая строка содержит два целых числа N и M (2 <= M <= N <=105). Вторая строка содержит N различных слов Si (1 <= i <= N, ), разделенных пробелом - название станций, на которых останавливаются обычные космические корабли. Третья строка содержит M различных слов Tj (1 <= j <= M, ), разделенных пробелом - название станций, на которых останавливаются варп-корабли. Все слова в третьей строке (T1,...,TM) получается путем удаления нуля или более строк из (S1,...,SN) и выстраиванием оставшихся слов в ряд, не меняя порядок. 

Выходные данные
Выведите N строк. i-я строка (1<= i <=N) должна содержать Yes, если Дениска доберется на варп-корабле до i-й станции от начальной станции, иначе - No.
 
 
Примеры
Входные данные Выходные данные
1
5 3
andoria kanda badjor betazed ueno
andoria badjor ueno
Yes
No
Yes
No
Yes
2
7 7
a b c d e f g
a b c d e f g
Yes
Yes
Yes
Yes
Yes
Yes
Yes
✓ 1 355✗ 2 774400лёгкаяВойти и решать
Генератор степеней двойки работает следующим образом. Каждую секунду, начиная с первой, он печатает на экране все степени двойки, значение которых, не превосходит текущую секунду.
Пример первых чисел, которые выдает генератор:
1
1 2
1 2
1 2 4
...


По заданному числу n, выведите на экран первые n чисел, которые напечатает на экране генератор.

Входные данные
Программа получает на вход числу (n <= 103).

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1 5 1 1 2 1 2 
2 1 1
3A+5B#42254

Многие натуральные числа можно представить в виде N = 3A + 5B, где A и B - целые неотрицательные числа. Например, 11=3x2+5x1, 20=3x0+5x4.

Вам требуется по заданному числу определить, можно ли его представить в таком виде, и если это возможно, найти подходящие A и B.



Входные данные
Программа получает на вход натуральное число N (N <= 10000).

Выходные данные
Программа должна вывести два целых неотрицательных числа A и B, разделенных пробелом, если такие числа существуют. В противном случае выведите слово IMPOSSIBLE. Если решений несколько, выведите любое из них.
 
 
Примеры
Входные данные Выходные данные
1 23 1 4
2 4 IMPOSSIBLE

Последовательность Фибоначчи определяется так: \(f_0 = 0, f_1 = 1, ..., f_n = f_{n-1}+f_{n-2}\).

По данному числу n определите n-е число Фибоначчи fn.



Входные данные
Программа получает на вход натуральное число n.

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1 6 8
В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.

Входные данные
Программа получает на вход два вещественных числа x и y.

Выходные данные
Программа должна вывести одно натуральное число - номер дня, на который пробег спортсмена составит не менее y километров..
 
 
Примеры
Входные данные Выходные данные
1 10
20
9
✓ 92✗ 178500лёгкаяВойти и решать
Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.

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

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1 25 5
✓ 223✗ 308300лёгкаяВойти и решать
Дана непустая последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу. 

Входные данные
Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1 2
2
2
3
3
1
1
1
1
0
4
✓ 128✗ 292600лёгкаяВойти и решать
На соревнованиях по шахматной композиции каждому участнику дается 10 задач для решения. За каждую задачу можно получить от 0 до 5 баллов. За правильно решенную задачу участнику начисляется 5 баллов. Если задача решена не полностью или не верно, то участнику дается вторая попытка. В этом случае за задачу участник получает балл равный среднему баллу за две попытки, округленный по правилам математики. 
Баллы выставляются по порядку от первой до последней решенной задачи.

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


Входные данные
Программа получает 10 строк, в каждой из которых записано по одному неотрицательному числу от 0 до 5. 

Выходные данные
Выведите в первой строке количество задач, которые Витя Ч. успел решить, во второй строке - количество задач, которые решил с первой попытки на максимальный балл, в третьей строке - общее количество набранных баллов.
 
Примеры
Входные данные Выходные данные
1 2
5
2
5
0
5
5
2
5
5
6
2
25
✓ 19✗ 80900средняяВойти и решать
Существует сетка с H горизонтальными строками и W вертикальными столбцами. Пусть (ij) обозначает квадрат в i-й строке сверху и в j-м столбце слева.
Найдите количество квадратов, которые имеют общую сторону с квадратом (RC).

Квадрат (ab) и квадрта (cd), имеют одну общую сторону тогда и только тогда, когда |a-c|+|b-d|=1 (где |x| обозначает абсолютное значение x).

Входные данные
Програма получает на вход две строки. Первая строка содержит два целых числа H и W (1 <= H, W <= 10). Вторая строка содержит два целых числа R и C (1 <= H, W <= 10).

Выходные данные
Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 3 4
2 2
4
2 3 4
1 3
3

Изображение сетки, для описанных выше примеров
Плитки выровнены по N горизонтальным строкам и N вертикальным столбцам. Каждая плитка имеет сетку с A горизонтальными рядами и B вертикальными столбцами. Все плитки образуют квадрат с (A×N) горизонтальными строками и (B×N) вертикальными столбцами.
Для 1<= i, j<= N плитка (ij) обозначает плитку в i-й строке сверху и в j-м столбце слева.

Каждый квадрат X окрашен следующим образом.
  • Каждая плитка представляет собой либо белую плитку, либо черную плитку.
  • Каждый квадрат в белой плитке окрашен в белый цвет; каждый квадрат в черной плитке окрашен в черный цвет.
  • Плитка (11) - это белая плитка.
  • Две плитки, разделяющие одну сторону, имеют разные цвета. Плитка (ab) и плитка (cd), имеют одну общую сторону тогда и только тогда, когда |a-c|+|b-d|=1 (где |x| обозначает абсолютное значение x).
Распечатайте квадрат X в формате, указанном в формате.

Входные данные
Программа получает на вход три целых числа: N, A, B (1 <= N, A, B <= 10).

Выходные данные
Выведите на экран (A×N) строк S1,...,SAxN, которые удовлетворяют следующим условиям.
Каждая из строк S1,...,SAxN представляет собой строку длины (B×N), состоящую из . и #.
Для каждого значения i и j (1<= i <= A×N,1 <= j <= B×N) j-й символ строки Si является символом . ,если квадрат в i-й строке сверху и j-м столбце слева в квадрате X окрашен в белый цвет; символом #, если квадрат окрашен в черный цвет.
 
 
Примеры
Входные данные Выходные данные
1
4 3 2
..##..##
..##..##
..##..##
##..##..
##..##..
##..##..
..##..##
..##..##
..##..##
##..##..
##..##..
##..##..
2
5 1 5
.....#####.....#####.....
#####.....#####.....#####
.....#####.....#####.....
#####.....#####.....#####
.....#####.....#####.....
3
4 4 1
.#.#
.#.#
.#.#
.#.#
#.#.
#.#.
#.#.
#.#.
.#.#
.#.#
.#.#
.#.#
#.#.
#.#.
#.#.
#.#.
4
1 4 4
....
....
....
....
Вам дан массив целых чисел А длиной n.
Необходимо ответить на m запросов вида "сообщите количество различных чисел подотрезка массива А от элемента с индексом l до элемента с индексом r" (обе границы подотрезка включены, массив нумеруется с единицы).

Входные данные:
В первой строке дано два числа: n - количество элементов массива и m - количество запросов (1 <= n, m <= 105).
Во второй строке дано n целых чисел Ai - элементы массива (0 <= Ai <= 106).
Далее дано m строк, в каждой по два числа l и r - границы подотрезка для каждого запроса (1 <= l <= r <= n).

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

Пример:
 
Входные данные Выходные данные
7 5
1 3 1 2 2 4 1
1 3
4 5
3 7
2 4
7 7
2 1 3 3 1
✓ 64✗ 243700средняяВойти и решать
Есть набор строк, который изначально пуст. Необходимо обрабатывать три различные операции над этим набором строк:
  • 1 s: Добавить данную строку в набор.
  • 2 k l: Узнать, существуют ли в наборе k строк (не обязательно различных) таких, что они имеют общий суффикс длины l. Этот суффикс не обязан быть наибольшим.
  • 3 i: Удалить строку из набора, которая была добавлена в i-й операции (если она еще не была удалена).
Входные данные:
В первой строке дано одно целое число - количество операций q (1 <= q <= 105), которые необходимо обработать.
Далее в каждой строке дано описание запроса. Сперва это число 1, 2 или 3, обозначающее тип запроса. 
Если это запрос первого типа, то далее дана строка s, суммарная длина которых не превышает 105.
Если это запрос второго типа, то далее дано два целых числа k и l (1 <= k, l <= 105).
Если это запрос третьего типа, то далее дано число i (1 <= i <= номер текущей операции), где i - номер операции первого типа.

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

Пример:
 
Входные данные Выходные данные
9
1 aba
1 accba
2 2 2
2 2 3
1 aaaa
1 ababa
2 3 2
3 1
2 3 2
YES
NO
YES
NO
✓ 1✗ 41 200средняяВойти и решать
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.

Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок внесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.

ID операции

Дата

ID магазина

Артикул

Тип операции

Количество упаковок

Цена

Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.

Артикул

Отдел

Наименование

Единица измерения

Количество в упаковке

Производитель

Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.

ID магазина

Район

Адрес


На рисунке приведена схема указанной базы данных.


Используя информацию из приведённой базы данных, определите на какую сумму было получено риса всех сортов в магазинах Первомайского района за период со 1 по 3 июня включительно.

В ответе запишите только число.

Скачать файл
 
Эн идет в свой Грибной лес собирать грибы.

В Грибном лесу m ориентированных дорожек, соединяющих n деревьев. На каждой дорожке растут грибы. Когда Эн проходит по дорожке, он собирает все грибы на этой дорожке. Однако, в Грибном лесу такая плодородная почва, что грибы растут с фантастической скоростью. Новые грибы вырастают, как только Эн заканчивает собирать грибы на дорожке. А именно, после того, как Эн проходит по дорожке в i-й раз, вырастает на i грибов меньше, чем было до этого прохода. Таким образом, если на дорожке изначально было x грибов, то Эн соберет x грибов в первый проход, x - 1 гриб во второй, x - 1 - 2 гриба в третий и так далее. Однако, количество грибов не может стать меньше 0.
Например, пусть изначально на дорожке росло 9 грибов. Тогда количество грибов, которое соберет Эн, равно 9, 8, 6 и 3 для проходов с первого по четвертый. Начиная с пятого прохода и далее Эн ничего не сможет собрать с этой дорожки (но все еще может по ней ходить).

Эн решил начать от дерева s. Какое максимальное количество грибов он может собрать, передвигаясь только по описанным дорожкам?

Входные данные:
Первая строка содержит два целых числа n и m (1 ≤ n ≤ 300000, 0 ≤ m ≤ 300000) — количество деревьев и количество ориентированных дорожек в Грибном лесу, соответственно.
Каждая из следующих m строк содержит три целых числа x, y и w (1 ≤ x, y ≤ n, 0 ≤ w ≤ 108), описывающих дорожку, которая ведет от дерева x к дереву y с w грибами изначально. Возможны дорожки, которые ведут от дерева к нему же, а также несколько дорожек, соединяющих одну и ту же пару деревьев.
Последняя строка содержит одно целое число s (1 ≤ s ≤ n) — начальную позицию Эна.

Выходные данные:
Выведите одно целое число — максимальное число грибов, которое может собрать Эн на своем пути.

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

Пояснения:
В первом примере Эн может три раза пройти по кругу и собрать 4 + 4 + 3 + 3 + 1 + 1 = 16 грибов. После этого не будет грибов, которые Эн может собрать.
Во втором примере Эн может пойти к дереву 3 и собрать 8 грибов на дорожке от дерева 1 до дерева 3.
Дан граф из n вершин и m ориентированных ребер. В каждой вершине записана некоторая строчная латинская буква. 
Определим величину пути как наибольшее количество раз, которое какая-то буква встречалась на этом пути. Например, если буквы на пути образуют строку «abaca», то величина этого пути равна 3.
Ваша задача — найти путь с наибольшей величиной.

Входные данные:
Первая строка содержит два целых числа n, m (1 ≤ n, m ≤ 200000), означающих, что в графе n вершин и m ориентированных ребер.
Вторая строка содержит строку s, состоящую только из строчных латинских букв. Символ номер i — это буква, записанная в вершине номер i.
Далее следуют m строк. Каждая из этих строк содержит два целых числа x, y (1 ≤ x, y ≤ n), описывающих ориентированное ребро из x в y. Обратите внимание, x может быть равно y, и могут быть несколько ребер между x и y.
Кроме того, граф может быть несвязным.

Выходные данные:
Выведите одно число — максимальную величину пути. Если существуют пути со сколь угодно большой величиной, выведите -1.

Примеры:
 
Входные данные Выходные данные
5 4
abaca
1 2
1 3
3 4
4 5
3
6 6
xzyabc
1 2
3 1
2 3
5 4
4 3
6 4
-1
10 14
xzyzyzyzqx
1 2
2 4
3 5
4 5
2 6
6 8
6 5
2 10
3 9
10 9
4 6
1 10
2 8
3 7
4
Поделиться
Класснуть