电话号码


  在现在社会,你会经常面对许多电话号码,而且它们变得超越来越长,但你要记住一些号码。一种比较简单的办法是将数字与它上面的字母关联起来(如下图所示)

       

  这样每个词或一组单词就指定到一个唯一的数。于是你只要记住这些单词,而不是去这些数码。如何能找到与某人自身有一定联系的单词,则它对应的电话号码无疑是非常吸引人的。例如,你就可以将一个电话号码为941837296的棋友记为WHITEPAWN(白卒), 你喜爱的老师的号码2855304可记为BULLDOG。

  你的任务是写一个程序,找出最少的单词序列,使得它符合给定的电话号码与一些单词列表。数字与字母的对应关系如上图如示。

  输入

  输入文件PHONE.IN的第一行包含一个电话号码(最多100个数字)。第二行包含一个整数,表示给定字典的单词数(最大不超过50000)。接下来的行每行包含一个单词(最多50个小写字母),整个输入文件不超过300KB。

  输出

  输出文件PHONE.OUT仅有一行 ,包含所求的最少的单词序列,单词之间用一个空格分开。如果无解,则输出`No solution',如果有多种解,则你可输出任意一个。

  样例

  PHONE.IN
  7325189087
  5
  it
  your
  reality
  real
  our

  PHONE.OUT
  reality our

  ( 符号电话号码的另一解答为`real it your',它包含三个单词).

  PHONE.IN
  4294967296
  5
  it
  your
  reality
  real
  our

  PHONE.OUT
  No solution.

  

 
 
网站导航 | 关于曙光 | 联系我们 | 请提意见
Copyright © FuJian Sunshine Educational Info. Co.,Ltd.
福建曙光教育资讯有限公司 版权所有