Codeforces Round 100 |
---|
Закончено |
В то время как хозяйственный Геральд накрывает стол, Александр закончил очередной пост на Codeforces и начинает отвечать на новогодние поздравления друзей. У Александра n друзей, и каждый из них отправляет Александру ровно одну электронную открытку. Будем нумеровать друзей числами от 1 до n в том порядке, в котором они отправляют открытки. Для открыток введем ту же самую нумерацию, то есть получается, что i-ый друг отправил Александру открытку с номером i.
Александр тоже отправляет друзьям открытки, причем чтобы не искать открытки в Интернете, он просто использует ранее присланные ему (иногда, правда, дорисовывая необходимые элементы). Изначально у Александра нет открыток. Александр всегда придерживается двух правил:
Каждому другу Александр планирует отправить ровно по одной открытке. Разумеется, Александр может отправлять одну и ту же открытку несколько раз.
У Александра и у каждого из друзей есть список предпочтений, представляющий собой перестановку чисел от 1 до n. Первое число в списке — это номер самой любимой открытки, второе — следующей за ней, и так далее, последний номер — наименее предпочтительная открытка.
Ваша задача — определить, в какие моменты времени Александр должен отправлять открытки своим друзьям, чтобы порадовать каждого из них как можно больше. Иначе говоря, чтобы в результате применения двух Сашиных правил, каждый друг получил как можно более предпочтительную для него открытку.
Обратите внимание, что Александр не обладает свободой выбора в том, какую открытку отправить, а всегда строго придерживается двух правил.
В первой строке задано целое число n (2 ≤ n ≤ 300) — количество друзей Александра, равное количеству открыток. Следующие n строк содержат списки предпочтений друзей. Каждый список состоит из n различных целых чисел от 1 до n. Последняя строка содержит список предпочтений самого Александра в том же формате.
Выведите n чисел, разделенных пробелами: i-ое число должно являться номером друга, после получения открытки от которого Александр должен отправить открытку i-ому другу. Если решений несколько, выведите любое.
4
1 2 3 4
4 1 3 2
4 3 1 2
3 4 2 1
3 1 2 4
2 1 1 4
В примере алгоритм действий Александра и его друзей таков:
Заметим, что можно делать отправку открытки сразу нескольким друзьям (в данном случае второму и третьему). Четвертому другу можно отправить открытку номер 3 как после получения третьей открытки, так и после получения четвертой открытки (оба варианта являются правильными).
Название |
---|