Информатика

15 724 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Одна из самых известных цитат из мультфильма: «Охана — значит семья, в семье не бросят никого и никогда и не забудут…» Что тут еще добавить? Так и есть!

Лило хочет составить генеалогическое древо своей семьи, для того, чтобы попытаться найти как можно больше своих родственником. В генеалогическом древе как известно у каждого кроме родоначальника, есть ровно один родитель. Лило хочет узнать, как расположить по отношению друг к другу некоторых двух членов семьи. Старшая сестра Лило Нани прекрасно помнит, кто является родителем кого. Она готова помочь Лило, но у нее так много работы. Помогите Нани написать программу для Лило.  


Входные данные
Программа получает на вход число элементов в генеалогическом древе N. Далее следует \(N-1\) строка, задающие родителя для каждого элемента древа, кроме родоначальника. Каждая строка имеет вид:
имя_потомка имя_родителя.

Далее до конца файла идут строки, содержащие имена двух элементов дерева.


Выходные данные
Для каждого такого запроса выведите одно из трех чисел:
1 - если первый элемент является предком второго;
2 - если второй является предком первого;
0если ни один из них не является предком другого.

 

Примеры
Входные данные Выходные данные
1
9
Keaka Kayla
Ikika Kayla
Akeneki Kayla
Neolani Keaka
Ley Ikika
Kianalu Ley
Aalona Kianalu
Iukini Kianalu
Ikika Iukini
Neolani Kayla
Keaka Kianalu
END!	
1 2 0

 

✓ 149✗ 434800средняяВойти и решать
Стич всегда готов поделиться кусочком пирога с другом, помочь Лило построить лучший замок из песка и приготовить завтрак для всей семьи. Бери пример :)

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


Входные данные
Каждая строка содержит название блюда, затем через пробел идет количество (натуральное число не превышающее 500000). Последняя строка содержит единственное слово "END!" - признак окончания ввода.

Выходные данные
Выведите названия всех блюд в лексикографическом порядке, затем, через пробел, общее количество, которое необходимо приготовить Стичу.

 
Примеры
Входные данные Выходные данные
1 Yapper 10
Yapper 5
Clip 9
Clip 8
Yapper 1
END!
Clip 17
Yapper 16

 

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

Стич - генетический эксперимент 626, созданный злым гением Джамбой Джукибой. И на сколько бы милым не получился Стич по окончании эксперимента, Джамбо все-таки увидел в нем разрушительный потенциал и продолжил работу над ним. Но до того, как закончить работу над Стичем они оба были задержаны Галактической полицией.
Стич был приговорен Верховной Советницей к пожизненной ссылке на пустынный астероид, но по пути сбегает и оказывается на нашей планете на гавайском острове Кауаи, где любовь и забота Лило превратили злого инопланетянина в доброго и отзывчивого друга! Джамбо Джукибо - инопланетянин с планеты Квилтакуан (Kweltikwan). Был отправлен на Землю для поимки Эксперимента 626. Чтобы миссия состоялась Джамбо должен был изучить английский язык. Для этого он создал англо-квилтакуанский словарь. К каждому английскому слову, которое он встречал, Джамбо записывал в словарь несколько слов-переводов на квилтакуанском.
К сожалению, он поздно понял, что ему также необходим квилтакуанско-английский словарь. Он решил сделать квилтакуанско-английский словарь из англо-квилтакуанского за время полета. 
Для каждого квилтакуанского слова, встречающегося в словаре, Джамбо хочет найти все его переводы (то есть все английские слова, для которых квилтакуанское слово встречалось в его списке переводов), и считать их и только их переводами этого квилтакуанского слова.
Помогите Джамбо выполнить работу по созданию квилтакуанско-английского словаря, чтобы он успел к моменту прилета на нашу планету его выучить.

Входные данные
В первой строке содержится единственное целое число N — количество английских слов в словаре. Далее следует N описаний. Каждое описание содержится в отдельной строке, в которой записано сначала английское слово, затем отделённый пробелами дефис (символ номер 45), затем разделённые запятыми с пробелами переводы этого английского слова на квилтакуанский. Переводы отсортированы в лексикографическом порядке. Порядок следования английских слов в словаре также лексикографический.
Все слова состоят только из маленьких латинских букв, длина каждого слова не превосходит 15 символов. Общее количество слов на входе не превышает 100000.

Выходные данные
Выведите соответствующий данному квилтакуанско-английский словарь, в точности соблюдая формат входных данных. В первой строке необходимо вывести, количество слов в словаре. Далее в каждой отдельной строке должны идти слова и их перевод. В частности, первым должен идти перевод лексикографически минимального квилтакуанского слова, далее — второго в этом порядке и т.д. 

Порядок вывода слов может быть любым. Это касается как самих слов в словаре, так и слов, означающих перевод.

 

Примеры
Входные данные Выходные данные
1 3
apple - malum, pomum, popula
fruit - baca, bacca, popum
punishment - malum, multa
7
baca - fruit
bacca - fruit
malum - apple, punishment
multa - punishment
pomum - apple
popula - apple
popum - fruit

 

✓ 172✗ 454700средняяВойти и решать
Жизнерадостный инопланетянин Стич пытается освоиться на нашей планете и выучить английский язык. Пока он мало что может произнести, но уже может отличить одно слово от другого, хотя возможно он их и не понимает. Сейчас Стич проводит наблюдения за Лилой, и для каждого услышанного слова он произносит сколько раз оно уже было произнесено Лилой ранее. Когда Лило надоедает слушать бормочущего Стича, она называет его по имени и Стич останавливается. Джамба Джукиба, который стал другом Лило и Нани, решил проверить Стича, правильно ли он ведет счет. Помогите ему написать для этого программу.

Пояснение
Словом считается последовательность непробельных символов идущих подряд, слова разделены одним или большим числом пробелов или символами конца строки. 

Входные данные
Программа получает на вход текст. Признаком конца текста является слово STITCH, которое располагается в последней строке, других слов в последней строке нет. 

Выходные данные 
Для каждого слова, встретившегося в текста, выведите на экран сколько раз оно встречалось до этого. Слово STITCH не входит в текст. Все значения выводить в одну строку, разделяя одним пробелом.

 

Примеры
Входные данные Выходные данные
1 one two one tho three
STITCH
0 0 1 0 0
2 a b a c a b a d a b a c a b a
STITCH
0 0 1 0 2 1 3 0 4 2 5 1 6 3 7 

 

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

Напишите программу, которая вычисляет сумму элементов матрицы.

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

Выходные данные: программа должна вывести одно число – сумму элементов матрицы.

Пример.
Входные данные Выходные данные
1 4 5
1 2 3 4 5
6 12 8 9 10
11 12 12 14 15
16 17 18 12 20
207

Напишите программу, которая вычисляет сумму элементов матрицы.

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

Выходные данные: Программа должна вывести одно число – сумму элементов матрицы.

Примеры
Входные данные Выходные данные
1 4 5
1 2 3 4 5
6 12 8 9 10
11 12 12 14 15
16 17 18 12 20
207
Алфавитно-частотный словарь - это частотный словарь, в котором слова с указанием их частоты (встречаемости) расположены по алфавиту.
Постройте словарь, отсортированный по частоте слов, в котором слова расположены порядке уменьшения их частоты встречаемости, справа от каждого слова должно быть указано сколько раз оно встречается в тексте. Если количество слов одинаково, сортировка идет по словам в лексикографическом порядке.  Признаком окончания текста является "END!". 

Входные данные
На вход подаются строки текста. Последняя строка содержит одно единственное слово "END!" и является признаком окончания текста.

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

 
Примеры
Входные данные Выходные данные
1 один два
три один
два
END!
два 2
один 2
три 1
✓ 707✗ 2 152500лёгкаяВойти и решать
На вход подается одна строка, в которой записаны фамилия и имя человека (разделенные ровно одним пробелом).
 
Выведите эту же информацию, однако сначала имя, а потом фамилию.
 
Пример
Входные данные Выходные данные
1 Pupkin Vasya Vasya Pupkin
 
✓ 16✗ 70500лёгкаяВойти и решать
Словарь синонимов — описывает синонимические ряды, то есть группы слов, имеющих тождественное или достаточно близкое значение. Словарь синонимом часто используют копирайтеры.
У вас имеется словарь, состоящий из пар слов-синонимов. Все слова в словаре различны. Выведите к предлагаемому слову синоним.

Входные данные
Программа получает на вход количество пар синонимов N. Далее следует N строк, в каждой из которых содержится ровно два слова-синонима. В последней N+1 строке следует одно слово.

Выходные данные
Выведите на экран синоним к данному слову.

Примечание
Используйте в своей программе словарь.
 


Примеры
Входные данные Выходные данные
1 2
Dictionary Map 
List Array
Array
List

 

✓ 1 149✗ 789400лёгкаяВойти и решать
Во время пандемии 2020 года, в школе Маши, Даши и Миши переоборудовали столовую с учетом требований соблюдения дистанции. Для каждого класса все столы были одноместные и расставлялись в виде сетки, состоящей из \(N\) рядов, пронумерованных от \(1\) до \(N\), и двух столбцов, пронумерованных от \(1\) до \(2\). Расстояние между столами \((R_a, C_a)\) и \((R_b, C_b)\) равно евклидому расстоянию между центрами соответствующих клеток, а именно \(\sqrt {(R_a - R_b)^2 + (C_a - C_b)^2}\)
Каждый ученик класса, приходя в столовую, размещается как можно дальше от других учеников. Точнее говоря, дежурный класса назначает ученику свободное место, расстояние от которого до ближайшего занятого места максимально. Если имеется более одного такого места, то дежурный всегда назначает место с номером в меньшем ряду, а если есть несколько таких мест, он выбирает место с наименьшим столбцом. После того, как дежурный назначил место, учащийся должен сидеть только за этим столом до окончания обеда, после обеда учащийся покидает столовую, сообщая об этом дежурному. Если в столовой никого нет, то входящему учащемуся всегда назначается место в ряду 1 и столбце 1. 
В школе Маши, Даши и Миши все ученики прилежные и всегда занимают те места, которые им были указаны.
Но так как дежурные иногда задерживаются на уроках, они просят Вас написать программу, которая учитывая последовательность событий и тип каждого события, автоматически назначала бы место для учащегося. Изначально столовая пуста.
События нумеруются от \(1\) до \(M\) в том порядке, в котором они происходят. Существует два вида событий: событие типа "E" соответствует учащемуся, купившему обед, и которому нужен стол, а событие типа "L" соответствует учащемуся, который закончил обедать и освободил вышел из-за стола. Для события типа "L" также дается число P - оно указывает, что уходящий ученик - это тот, который купил обед во время события P.
Гарантируется, что в столовой всегда будет хотя бы одно свободное место, когда учащийся купил для себя обед.

Входные данные: Первая строка содержит два целых числа N и M (1 <= N <= 150000, 1 <= M <= 30000), количество рядов в словой и количество событий. Следующие M строк содержат описание событий, K-я из этих строк содержит описание события K - либо символ «E», либо символ «L», за которым следует целое число Pk (1 <= Pk < K). Гарантируется, что событие Pk относится к типу «E», и ни один учащийся не будет пытаться уйти из столовой дважды.
Выходные данные: Для каждого события типа «E» в том порядке, в котором они произошли, выведите строку и номер столбца места, на которое должен сесть учащийся

 

Примеры
Входные данные Выходные данные
1 3 7
E
E
E
L 2
E
L 1
E
1 1
3 2
1 2
3 1
1 1
2 13 9
E
E
E
E
E
E
E
E
E
1 1
13 2
7 1
4 2
10 1
2 2
3 1
5 1
6 2
3 10 9
E
E
E
E
L 3
E
E
L 6
E
1 1
10 2
5 2
7 1
4 2
2 2
4 1
 

 

Внешкольная жизнь Маши, Даши и Миши очень насыщенная. Все вместе дети посещают \(K\) кружков. Дни, когда работает какой-либо кружок, родителям после работы приходится отвозить ребят на тренировки. Если дни занятий не выходные (суббота или воскресенье), то такие дни считаются загруженными.
Все кружки работают через определенное число дней. i-й кружок работает каждый \(b_i\) день, начиная с дня c номером \(a_i\). То есть i-й кружок работает в дни \(a_i\), \(a_i+b_i\)\( a_i+2b_i\) и т.д. 
В календаре дополнительных занятий \(N\) дней, пронумерованных от 1 до \(N\). Первый день всегда понедельник, шестой и седьмой дни - выходные, неделя состоит из семи дней.

Входные данные: программа получает на вход число дней в календаре \(N\) (\(1<=N<=10^6\)) и число кружков \(K\) (\(1<=K<=100\)). Далее идет \( K\) строк, описывающие графики проведения тренировок. \(i\)-я строка содержит числа \(a_i\) и \(b_i\) (\(1<=a_i,b_i<=N\)).

Выходные данные: выведите единственное число: количество загруженных дней у родителей в течение всего календаря занятий.

Примечание: первый кружок работает в дни 2, 5, 8, 11, 14, 17. Второй кружок работает в дни 3, 8, 13, 18. Третий кружок - в дни 9 и 17. Дни номер 6, 7, 13, 14 являются выходными. Таким образом, загруженными будут дни 2, 3, 5, 8, 9, 11, 17, 18. 

 

Примеры
Входные данные Выходные данные
1 19 3
2 3
3 5
9 8
8

 

✓ 47✗ 191900средняяВойти и решать
Даша предлагает Маше сыграть в следующую игру. Даша пишет на листочке одно число, а задача Маши записать другое число, используя только цифры, которые есть в числе Даши. Напишите программу, которая выводит цифры, используемые Машей для записи своего числа, если Маша выполнила условие Даши, в противном случае выведите на экран слово losing

Входные данные: на вход подаются два натуральных числа (сначала число Даши, затем число Маши), не превыщающие 109. Каждое число в отдельной строке
Выходные данные: выведите в порядке возрастания требуемые цифры, или слово losing

 

Примеры
Входные данные Выходные данные
1 5112648
1246
1 2 4 6
2 64141
1246
losing

 

✓ 49✗ 133600лёгкаяВойти и решать
Маша предлагает Мише сыграть в следующую игру. Маша пишет на листочке два числа, а перед Мишей лежат карточки с цифрами от 0 до 9. Задача Миши выбрать себе такие карточки, на которых записаны цифры, которые используются для записи как первого числа, так и второго.

Входные данные: на вход подаются два натуральных числа, не превыщающие 109. Каждое число в отдельной строке
Выходные данные: выведите на экран в порядке возрастания карточки, которые должен взять Миша. Если Миша не может взять ни одной карточки, то выведите -1

 

Примеры
Входные данные Выходные данные
1 514
233
-1
2 1248
3472
2 4

 

✓ 103✗ 133500лёгкаяВойти и решать
Маша предлагает Даше сыграть в следующую игру. Маша пишет на листочке число, а перед Дашей лежат карточки с цифрами от 0 до 9. Задача Даши выбрать себе такие карточки, на которых записаны цифры, которые не используются в записи числа Маши.

Входные данные: на вход подается натуральное число, не превыщающее 109
Выходные данные: выведите на экран в порядке возрастания карточки, которые должна взять Даша. Если в числе Маши используются все цифры от 0 до 9, то выведите -1

 

Примеры
Входные данные Выходные данные
1 2007 1 3 4 5 6 8 9

 

✓ 114✗ 266500лёгкаяВойти и решать
Маша, Даша и Миша получили некоторое количество оценок по информатике. Маша и Даша хотят посмотреть какие из оценок встречались у Миши, но не встречались у них. Напишите программу для решения этой задачи.

Входные данные: в первой строке задается число N (\(0 < N <=100\)) - количество оценок каждого ребенка. 
Далее идет 3 строки по N чисел в каждой - оценки Маши, Даши и Миши соответственно. Оценки у ребят в школе выставляются по 100 бальной шкале.
Выходные данные: выведите в одной строке, разделяя одним пробелом, все оценки, которые встречались у Миши, но не встречались у Маши и Даши. Оценки выводите в порядке возрастания. Если таких оценок нет, вывести -1

 

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

 

✓ 90✗ 292500лёгкаяВойти и решать
Маша, Даша и Миша получили некоторое количество оценок по информатике. Маша и Даша хотят посмотреть какие из оценок встречались у них, но не встречались у Миши. Напишите программу для решения этой задачи.

Входные данные: в первой строке задается число N (\(0 < N <=100\)) - количество оценок каждого ребенка. 
Далее идет 3 строки по N чисел в каждой - оценки Маши, Даши и Миши соответственно. Оценки у ребят в школе выставляются по 100 бальной шкале.
Выходные данные: выведите на экран оценки, которые встречались у Маши и Даши, но не встречались у Миши. Оценки выводите в порядке возрастания. Если таких оценок нет, вывести -1

 

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

 

✓ 104✗ 291500лёгкаяВойти и решать
Миша переписываясь с друзья в whatsapp, решил определить, каких символов в его последнем сообщении больше - латинских гласных или латинских согласных? При подсчете он учитывает и прописные, и строчные буквы (одни и те же строчные и прописные буквы считаются различными), одинаковые буквы считаются один раз.

Входные данные: строка, содержащая буквы и пробелы. Других символов в ней нет.
Выходные данные: выведите слово vowels, если больше гласных, consonants - если согласных, и знак = в случае равенства

Алфавит (гласные буквы выделены жирным):
Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz

Примеры
Входные данные Выходные данные
1 its sunny today vowels
2 Hello how are you =

 

✓ 109✗ 423600лёгкаяВойти и решать
Маша и Даша пишут друг другу сообщения через whatsapp. Затем они решили определить символы (учитывая регистр), которые есть в сообщении Маши, но нет в сообщении Даши. Напишите программу, которая сделает это за девочек 

Входные данные: в первой строке задается сообщение Маши, во второй - Даши
Выходные данные: выведите ответ на задачу. Символы выводить в алфавитном порядке.

 

Примеры
Входные данные Выходные данные
1 Hallo
Hi
a l o

 

✓ 119✗ 131400лёгкаяВойти и решать
На дне рождения у Мишки присутствовало n детей. Каждый ребенок получил в подарок по m воздушных шариков. Цвет шарика условно задан некоторым натуральным числом. 
Определите, есть ли шарики одинакового цвета у всех детей, если есть выведите номера этих цветов в порядке возрастания, в противном случае выведите -1.

Входные данные
В первой строке задаются числа n (\(0 < n <= 100\)) и m (\(1 <= m <= 50\)). Далее идут n строк по m чисел в каждой - номера цветов воздушных шариков у i-го ребенка. Цвет кодируется натуральным числом не превышающим 20.

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

 

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

 

✓ 1 384✗ 2 576400лёгкаяВойти и решать
В космические шахматы играют на бесконечной доске, поэтому клетки нумеруют парой чисел (см. пример и рисунок к нему). Фигуры ходят по обычным правилам. Составьте маршрут шахматного коня из клетки (0; 0) в заданную клетку (x; y).
Напомним, что конь за один ход перемещается на одну клетку по одной оси и на две по другой, то есть, например, из клетки (0; 0) он за один ход может попасть в клетки (1; 2), (2; 1), (-1; 2), (2; -1), (1; -2), (-2; 1), (-1; -2) и (-2; -1).

В качестве ответа Вам нужно вывести любой (не обязательно кратчайший) маршрут с началом в (0; 0) и концом в (x; y), длина которого не больше 105 ходов.

Формат входных данных
Программа получает на вход два целых числа x и y, записанных в отдельных строках, - координаты конечной клетки маршрута коня. Клетка (x; y) не совпадает с началом координат. |x| <= 105, |y| <= 105.

Формат выходных данных
Программа должна вывести последовательность ходов, один ход в отдельной строке. В i-й строке должно быть выведено два числа xi и yi через пробел - координаты клетки, в которой окажется конь после i-го хода. Количество ходов не должно превышать 105. Последний ход должен вести в заданную клетку
 
Ввод Вывод
-2
2
-2 1
0 2
-1 0
-2 2

Рисунок к примеру
Поделиться
Класснуть