Темы --> Информатика --> Язык программирования
    Процедуры и функции(96 задач)
    Массивы(232 задач)
    Типы данных(356 задач)
    Циклы(177 задач)
    Условный оператор (if)(164 задач)
    Python(260 задач)
    Standard Template Library(2 задач)
---> 12 задач <---
    COCI 2016-2017(0 задач)
    COCI 2015-2016(36 задач)
    COCI 2014-2015(0 задач)
Страница: 1 2 3 >> Отображать по:
ограничение по времени на тест
0.5 second;
ограничение по памяти на тест
32 megabytes

Петар организует вечеринку по случаю своего дня рождения и планирует пригласить некоторых сотрудников из компании, где он работает генеральным директором. Каждый сотрудник, включая Петара, имеет уникальный номер от 1 до N и тип шуток, которые он рассказывает, V i . Также, каждый сотрудник в компании кроме Петара имеет ровно одного начальника. Так как Петар - генеральный директор компании, он имеет номер 1 и руководит всеми сотрудниками (не обязательно напрямую).

На вечеринке есть некоторые правила, которым должны отвечать все присутствующие: 1. На вечеринке не должно быть двух людей с одинаковым типом шуток. 2. Человек не может быть приглашен на вечеринку, если на нее не приглашен его прямой начальник. 3. Человек не может быть приглашен на вечеринку, если типы шуток, которые рассказывает он и его приглашенные подчиненные, не образуют последовательное множество.

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

Последовательное множество - такое множество, в котором, если отсортировать его по возрастанию, разность между соседними элементами будет равна 1. Например (3, 1, 2) и (5, 1, 2, 4, 3) - последовательные множества, а (2, 5, 3) - нет.

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

Первая строка содержит одно целое число N ( 1 ≤ N ≤ 10000 ). Вторая строка содержит N целых чисел V i - типы шуток, рассказываемые i -м человеком ( 1 ≤ V i ≤ 100 ). Каждая из следующих N - 1 строк содержит два целых числа A и B ( 1 ≤ A , B N ), обозначающих что сотрудник с номером A является прямым начальником сотрудника с номером B .

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

Выведите единственное число - количество возможных наборов типов шуток на вечеринке.

Примеры
Входные данные
4
2 1 3 4
1 2
1 3
3 4
Выходные данные
6
Входные данные
4
3 4 5 6
1 2
1 3
2 4
Выходные данные
3
Входные данные
6
5 3 6 4 2 1
1 2
1 3
1 4
2 5
5 6
Выходные данные
10
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Мирко большой любитель шахмат и программирования, но обычные шахматы уже наскучили ему, поэтому он начал экспериментировать и придумал свою игру. Он взял шахматную доску с N рядами и N столбцами и расположил на ней K ладей. Игра Мирко следует таким правилам: 1. У каждой ладьи есть своя сила, заданная натуральным числом. 2. Ладья видит все клетки поля в своем ряду и своем столбце кроме той, на которой стоит сама. 3. Клетка считается атакованной в том случае, если побитовый XOR сил всех ладей, которые видят эту клетку, положителен. Изначально Мирко некоторым образом расположил ладьи на поле, и теперь собирается сделать P перемещений. Каждый раз он будет брать одну ладью и ставить ее на другую клетку поля (при этом ладья не обязательно будет перемещена вдоль ряда или столбца в котором она стоит). После каждого перемещения, определите сколько клеток на поле атакованы.

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

Первая строка содержит 3 целых числа N , K , P ( 1 ≤ N ≤ 1000000000 , 1 ≤ K , P ≤ 10000 ). Каждая из следующих K строк содержит 3 натуральных числа R i , C i , X i ( 1 ≤ R i , C i N , 1 ≤ X i ≤ 1000000000 ), которые обозначают что на клетке ( R i , C i ) стоит ладья с силой X i . Каждая из следующих P строк содержит 4 натуральных числа R 1 , C 1 , R 2 , C 2 ( 1 ≤ R 1, C 1, R 2, C 2 ≤ N ), которые означают что ладья, стоящая на клетке ( R 1, C 1 ), была передвинута на поле ( R 2, C 2 ). Гарантируется, что в момент перемещения на клетке ( R 1, C 1 ) есть ладья и что ни в какой момент времени на одной клетке нет двух и более ладей.

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

Выведите P строк, где в k -й строке записано единственное число - количество клеток поля, атакованных после первых k перемещений.

Примеры
Входные данные
2 2 2
1 1 1
2 2 1
2 2 2 1
1 1 1 2
Выходные данные
4
0
Входные данные
2 2 2
1 1 1
2 2 2
2 2 2 1
1 1 1 2
Выходные данные
4
2
Входные данные
3 3 4
1 1 1
2 2 2
2 3 3
2 3 3 3
3 3 3 1
1 1 1 2
3 1 3 2
Выходные данные
6
7
7
9
#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

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