---> 7 задач <---
    COCI 2016-2017(0 задач)
    COCI 2015-2016(36 задач)
    COCI 2014-2015(0 задач)
Страница: 1 2 >> Отображать по:
#113542
  
Темы: [Массивы]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 1, Карты ]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
32 megabytes

Недавно Пьеро увлекся робототехникой, поэтому он решил создать робота, который проверяет колоду игральных карт на полноту. Он уже выполнил значительную часть работы - он написал программу, которая распознает ярлыки карт. Для простоты будем считать, что у всех карт есть масть и номер. Масть карты является одним из символов P , K , H , T , а номер карты является целым числом от 1 до 13. Робот отмечает каждую карту в формате TXY, где T - масть, а XY - номер. Если номер карты состоит из одной цифры, то X = 0. Например, масть P и номер 9 обозначаются как P09. Полная колода имеет 52 карты - для каждой из четырех мастей есть ровно одна карта с номером от 1 до 13. Робот прочитал ярлыки всех карт в колоде и объединил их в строку S . Помогите Пьеро закончить робота, написав программу, которая читает строку, сделанную из карточных ярлыков и выводит, сколько карт отсутствует для каждой масти. Если в колоде есть две одинаковые карты, выведите GRESKA (ОШИБКА на хорватском).

Входные данные

Единственная строка S ( 1 ≤ S ≤ 1000 ), содержащая ярлыки всех карт.

Выходные данные

Если в колоде есть 2 одинаковые карты, выведите “GRESKA”. Иначе в единственной строке выведите через пробел четыре целых числа - количество отсутствующих карт мастей P , K , H , T соответственно.

Примеры
Входные данные
P01K02H03H04
Выходные данные
12 12 11 13 
Входные данные
H02H10P11H02
Выходные данные
GRESKA
Входные данные
P10K10H10T01
Выходные данные
12 12 12 12 
#113543
  
Темы: [Массивы]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 1, Акция ]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
32 megabytes

В местном книжном магазине акция: "Возьми 3, заплати за 2 самых дорогих". То есть, каждый покупатель, который возьмет 3 книги, получит самую дешевую из них бесплатно. Разумеется, он может взять и больше книг, и, некоторым образом разделив их на группы по 3, получать самую дешевую в каждой группе бесплатно. Например, пусть цены книг, выбранных покупателем, будут следующие: 10 3 2 4 6 4 9. Он может разделить их на группы таким образом: (10, 3, 2), (4, 6, 4), (9). Тогда он получит книгу стоимостью 2 из первой группы и книгу стоимостью 4 из второй группы бесплатно. При этом из третьей группы он ничего не получит бесплатно, так как в ней всего 1 книга. Девушка, работающая в магазине, очень добрая и всегда хочет помочь покупателю заплатить как можно меньше денег за выбранные книги. Помогите ей для выбранных покупателем книг распределить их по группам так, чтобы сумма денег, в результате заплаченная покупателем, была минимальна.

Входные данные

В первой строке записано одно натуральное число N ( 1 ≤ N ≤ 100000 ) - количество книг, выбранных покупателем. В каждой из следующих N строк записано одно натуральное число C i ( 1 ≤ C i ≤ 100000 ) - цена соответствующей книги.

Выходные данные

В единственной строке выведите одно целое число - минимальную цену, которую может заплатить покупатель за выбранные книги.

Примеры
Входные данные
4
3
2
3
2
Выходные данные
8
Входные данные
6
6
4
5
5
5
5
Выходные данные
21
#113553
  
Темы: [Массивы]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 2, Гепетто и пицца ]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Любимый всем кукольник Гепетто открыл новую пиццерию. Он хочет делать самую лучшую пиццу в городе, но не хочет иметь маленький ассортимент пицц.

Гепетто делает свои пиццы из N ингредиентов, пронумерованных от 1 до N . Всё было бы хорошо, но к сожалению он не может класть некоторые ингредиенты в одну пиццу.

Всего есть M пар ингредиентов, которые нельзя класть в одну пиццу. Помогите Гепетто узнать, сколько различных пицц он может cделать.

Входные данные

Первая строка содержит два целых числа N и M ( 1 ≤ N ≤ 20 , 0 ≤ M ≤ 400 ). Следующие M строк содержат по два различных чсла a и b , обозначающие, что класть ингредиенты a и b запрещено класть в одну пиццу ( 1 ≤ a , b N ).

Выходные данные

Выведите одно число – ответ на задачу

Примечание

В первом примере Гепетто может сделать пиццы из наборов {}, {1}, {2}, {3}, {1, 3}. Во втором примере он может использовать любую комбинацию ингредиентов. В третьем примере он может сделать пиццы из наборов {}, {1}, {2}, {3}.

Примеры
Входные данные
3 2
1 2
2 3
Выходные данные
5
Входные данные
3 0
Выходные данные
8
Входные данные
3 3
1 2
1 3
2 3
Выходные данные
4
#113558
  
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 2, Телефон Марко ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Марко обнаружил новую функцию на его телефоне - Т9. На его телефоне имеется стандартная клавиатура на 9 кнопок:

Для того чтобы вводить текст на этой клавиатуре необходимо несколько раз нажимать клавишу с соответствующей буквой. Точнее, если это первая буква на клавише, нужно нажать 1 раз, если вторая буква - 2 раза, и так далее. Например, если мы хотим ввести слово "giht", то необходимо нажать клавиши следующим образом: g-4 i-444 h-44 t-8. Новая возможность, которую открыл Марко, упрощает ввод текста, потому что больше не требуется нажимать по одной клавише несколько раз подряд - достаточно всего одного нажатия. Программа будет пытаться понять, какое слово из словаря вы пытаетесь ввести.

Марко довольно скептически относится к новым технологиями (как минимум к новым для него) и он боится, что ошибки будут довольно часто. Марко наизусть знает весь словарь мобильного телефона. Он состоит из N слов, состоящих из строчных латинских букв, длина каждого слова не превышает 1000000 символов. Марко даст массив нажатий на клавиши S длиной не более 1000, и хочет узнать как много слов из словаря он может получить при такой последовательности нажатий если используется функция Т9.

Входные данные

Первая строка содержит единственное целое число N ( 1 ≤ N ≤ 1000 ) - количество слов в словаре. Каждая из следующих N строк содержит одно слово из словаря S i ( 1 ≤ | S i | ≤ 1000000 ). Последняя строка содержит строку S ( 1 ≤ | S | ≤ 1000 ), состоящую из цифр от 2 до 9.

Выходные данные

Выведите единственное целое число - количество слов из словаря, которые можно получить при данной последовательности нажатий.

Примеры
Входные данные
3
tomo
mono
dak
6666
Выходные данные
1
Входные данные
2
ja
la
52
Выходные данные
2
Входные данные
3
dom
fon
tom
366
Выходные данные
2
#113571
  
Темы: [Массивы]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 4, Коллизия чисел ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Дано 2 числа N и M , и их надо преобразовать следующим образом: выпишем их друг под другом (если числа имеют разную длину, дополним меньшее из них ведующими нулями) и будем сравнивать их отдельно в каждой цифре. Из того числа, где цифра меньше, эта цифра вычеркивается. Если цифры равны, то ничего не происходит. Если, в итоге, из числа вычеркнули все цифры, то вместо него надо вывести 'YODA' .

Найдите те числа, которые получатся в результате преобразования.

Входные данные

Первая строка содержит число N ( 1 ≤ N ≤ 10 9 ), первое из двух чисел.

Вторая строка содержит число M ( 1 ≤ M ≤ 10 9 ), второе из двух чисел.

Выходные данные

В первой строке выходного файла выведите новое значение первого числа.

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

Система оценки

Решения, в которых 100 ≤ N ≤ 999 , будут оцениваться в 30 баллов.

Примеры
Входные данные
300
500
Выходные данные
0
500
Входные данные
65743
9651
Выходные данные
673
95
Входные данные
2341
6785
Выходные данные
YODA
6785

Страница: 1 2 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест