Завдання № 13
відбірково-тренувальних зборів
команди міста Києва

1. Підпослідовність

Максимальна оцінка: 40 балів
Обмеження на час: 0,15 сек.
Обмеження на пам’ять: 4 MБ
Вхідний файл: subseq.in
Вихідний файл: subseq.out
Програма: subseq.*

Завдання
Створити програму для обчислення довжини найдовшої спільної підпос­лідов­ності двох послідов­ностей {xj}kj = 1 і {yj}lj = 1.

Вхідні дані
Файл містить у вказаному порядку невід'ємні цілі числа k, x1, x2, …, xk, l, y1, y2, …, yl, де k + l < 16 000, а члени послідовностей менші за 65 432.

Вихідні дані
Файл має міститти лише шукану довжину найдовшої спільної підпос­лідов­ності.

Приклад

subseq.insubseq.out
5 1 2 3 4 5
4 1 3 5 7
3

2. Сiм'я

Максимальна оцінка: 92 балів
Обмеження на час: 0,15 сек.
Обмеження на пам’ять: 4 MБ
Вхідний файл: family.in
Вихідний файл: family.out
Програма: family.*

Завдання
Створiть програму, яка визначає ступiнь родичiвства чи свояцтва.

Вхідні дані
Перші два рядки файлу мiстять по одному iменi двох рiзних персонажiв.

Усi наступні рядки файлу мають такий вигляд:

Родовий відмінок іменників в українській мові утворюють:

Вхiднi данi не мiстять iмен з III-ої вiдмiни й iмен з II вiдмiни, якi закiнчуються на м'який знак. Імена складаються з одного слова. Розрiзняються персонажi з однаковими iменами, якщо цi iмена записано рiзними за висотою лiтерами (великими чи малими). Імена мiстять не бiльше 20 лiтер. Кiлькiсть персонажiв не перевищує 30.

Вихідні дані
Файл повинен мати такий вигляд:

Приклад

family.infamily.out
Борис
Олександр
Надія - дружина Бориса
Олександр - син Надії
Борис - батько Олександра



Зауваження щодо кодування літер кирилиці: використовувати кодову таблицю cp1251. Якщо є сумніви, код програми і вміст тестових файлів потрібно набрати/проглянути, використовуючи Блокнот (Notepad).