Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки

HotLog


 

Кубики

(Время: 1 сек. Память: 16 Мб Сложность: 73%)

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

Теперь Петя хочет похвастаться перед старшей сестрой, что научился читать. Для этого он хочет сложить из кубиков ее имя. Но это оказалось довольно сложно сделать – ведь разные буквы могут находиться на одном и том же кубике и тогда Петя не сможет использовать обе буквы в слове. Правда одна и та же буква может встречаться на разных кубиках. Помогите Пете!

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

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

В первой строке входного файла INPUT.TXT записано целое число N (1 ≤ N ≤ 100) – количество кубиков в наборе у Пети. Во второй строке задано имя Петиной сестры – слово, состоящие только из больших английских букв, длиной от 1 до 100 символов. Следующие N строк содержат по 6 букв (только большие английские буквы), которые написаны на соответствующем кубике.

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

В первой строке выходного файла OUTPUT.TXT выведите «YES», если выложить имя Петиной сестры данными кубиками можно, и «NO» в противном случае.

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

Примеры

INPUT.TXTOUTPUT.TXT
14
ANN
ANNNNN
BCDEFG
HIJKLM
NOPQRS
NO
25
HELEN
ABCDEF
GHIJKL
MNOPQL
STUVWN
EIUOZK
YES
2 1 3 5 4

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Введение
 Целочисленная арифметика
 Алгоритмы сортировки
 Длинная арифметика
 C++ Standard Template Library
 Динамическое программирование
 Комбинаторика
 Вычислительная геометрия
 Строки
 Структуры данных
 Теория графов - 1
 Теория графов - 2
 Алгоритм Флойда
 Алгоритм Форда-Беллмана
 Алгоритм Дейкстры
 Минимальный каркас
 Эйлеров цикл, конденсация
 Паросочетания
 A. Банкет
 B. Совершенно секретно
 C. Кубики
 D. Задача о назначениях
 E. Расшифровка

Красноярский краевой Дворец пионеров, (c)2006 - 2022, E-mail: admin@acmp.ru



сделать ставки на киберспорт