Spelling Bee
면접 대비시간 제한3초메모리 제한1024 MB
7개의 글자로 된 육각형과 사전 단어 목록이 주어질 때, 가운데 글자를 포함하고 4글자 이상이며 육각형 글자로만 이루어진 단어를 사전 순서대로 출력합니다.
문제

뉴욕 타임스는 매일 "Spelling Bee"라는 퍼즐을 낸다. 이 퍼즐에서는 육각형 모양으로 배열된 6개의 글자가 가운데 글자 하나를 둘러싸며, 모두 7개의 글자가 주어진다. 목표는 다음 조건을 모두 만족하는 단어를 최대한 많이 찾는 것이다.
- 육각형에 나온 글자만으로 이루어진 단어
- 길이가 4 이상인 단어
- 가운데 글자를 포함하는 단어
글자는 여러 번 쓸 수 있으며, 모든 글자를 꼭 쓸 필요는 없다.
한동안 풀다가 막히면, 컴퓨터의 리눅스 배포판에 기계가 읽을 수 있는 사전 파일 /usr/share/dict/words가 들어 있고 단어가 102,305개라는 사실이 떠오른다.
스펠링 비는 잘하지 못하더라도 프로그래밍에서는 잘할 수 있다고 생각해, 이 사전에서 퍼즐의 해를 모두 찾는 프로그램을 짜기로 한다.
입력
입력은 테스트 케이스 하나로 이루어진다. 첫 줄에는 서로 다른 영어 소문자 7개가 주어지며, 첫 번째 글자가 가운데 글자이다. 다음 줄에는 사전 크기 이 주어진다 (). 이어서 개의 줄에 사전 단어가 한 줄에 하나씩 주어지며, 각 단어는 개의 영어 소문자로 이루어진다 ().
출력
퍼즐 조건에 맞는 단어를 사전에 나온 순서대로 한 줄에 하나씩 출력한다. 조건에 맞는 사전 단어가 적어도 하나는 있음이 보장된다.