编程介的小学生 2017-07-18 19:52 采纳率: 0.2%
浏览 820
已采纳

77377

Description

At the risk of its future, International Cellular Phones Corporation (ICPC) invests its resources in developing new mobile phones, which are planned to be equipped with Web browser, mailer, instant messenger, and many other advanced communication tools. Unless members of ICPC can complete this stiff job, it will eventually lose its market share.

You are now requested to help ICPC to develop intriguing text input software for small mobile terminals. As you may know, most phones today have twelve buttons. namely, ten number buttons from 0 to 9 and two special buttons * and #. Although, the company is very ambitious, it has decided to follow today's standards and conventions. You should not change the standard button layout, and should also pay attention to the following standard button assignment.

BUTTON LETTERS BUTTON LETTERS

2 a,b,c 6 m,n,o

3 d,e,f 7 p,q,r,s

4 g,h,i 8 t,u,v

5 j,k,l 9 w,x,y,z

This means that you can only use eight buttons for text input.

Most users of current ICPC phones are rushed enough to grudge wasting time on even a single button press. Your text input software should be economical of user's time so that a single button press is sufficient for each character input. In consequence, for instance, your program should accept a sequence of button presses "77377" and produce the word "press". Similarly, it should translate "77377843288866" into "press the button".

However, it seems impossible to build such text input software since more than one English letter is represented by a digit! For instance, "77377" may represent not only "press" but also any one of 768 (4*4*3*4*4) character strings. However, we have the good news that the new model of ICPC mobile phones has enough memory to keep a dictionary. You may be able to write a program that filters out false words, i.e. strings not listed in the dictionary.

Input

The input consists of multiple data sets, each of which represents a dictionary and a sequence of button presses in the following format.

n
word1
...
wordn
sequence

n is a positive integer, representing the number of words in the dictionary. the next n lines, each representing a word in the dictionary, only contain lower case letters from 'a' to 'z'. The order of words in the dictionary is arbitrary. No words occur more than once in the dictionary. The last line, sequence, is the sequence of button presses, and only contains digits from '2' to '9'.
You may assume that a dictionary has at most one hundred words and that the length of each word is between one and fifty, inclusive. You may also assume that the number of input digits in the sequence is between one and three hundred, inclusive.
A line containing a zero indicates the end of the input.
Output

For each data set, you should print all sequences that can be represented by the input sequence of button presses. Each sequence should be a sequence of words in the dictionary, and should appear in single line. The order of lines must be lexicographic on the first word, if tie, on the second word, and so on.

Two adjacent words in a line should be separated by a single space character and the last word should be followed by a single period ('.').

Following those output lines, your program should also print a terminating line consisting solely of two hyphens ("--"). If there are no corresponding sequences of words, you should only print the terminating line.
You may assume that for each data set the number of output lines is at most twenty, excluding the terminating line.
Sample Input

5
push
press
the
button
bottom
77377843288866
4
i
am
going
go
42646464
3
a
b
c
333
0
Sample Output

press the button.

i am go go i.

i am going.

展开全部

  • 写回答

2条回答 默认 最新

查看更多回答(1条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 访问url时不会自动调用其 Servlet的doGet()
  • ¥15 MATLAB解决问题
  • ¥35 哪位专业人士知道这是什么原件吗?哪里可以买到?
  • ¥15 关于#c##的问题:treenode反序列化后获取不到上一节点和下一节点,Fullpath和Handle报错
  • ¥15 一部手机能否同时用不同的app进入不同的直播间?
  • ¥15 没输出运行不了什么问题
  • ¥20 输入import torch显示Intel MKL FATAL ERROR,系统驱动1%,: Cannot load mkl_intel_thread.dll.
  • ¥15 点云密度大则包围盒小
  • ¥15 nginx使用nfs进行服务器的数据共享
  • ¥15 C#i编程中so-ir-192编码的字符集转码UTF8问题
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部