2013年7月22日 星期一

10950 - Bad Code

為了保護機密文件的安全,Bob 不斷地嘗試新的方法設計編碼系統,每個字元將會對應一個正整數值,因此每個字元將會對應一段 code,然而這個系統並不完善,會導致對於一段加密文件產生多組隊應可能的文件。編碼系統的內容如下:
  • 文件只會存在小寫字母。
  • 每個字元對應的 code 為正整數 <= 99。
  • 加密文件長度 <= 100
  • 每個 code 對應加密文件時,應該先忽略前導為 0 的部分。(可參考範例輸入第二筆)
給定每個字符對應的 code,以及加密文件,輸出所有可能解密的文件,並且按照字典順序輸出。

Input

測資最多 500 筆,每組測資會有一行 N ,表示接下來會有多少字元的對應關係,且不會存在一個字元對應兩種 code,最後一行會有一個加密字串。
N = 0,結束程式。 

Output
對於每組測資,輸出測資組數,以及按照字典順序輸出解密的可能,如果超過 100 組,則輸出前 100 個可能就好。

每組測資後輸出一行空行。

Sample Input                           Output for Sample Input

5
a 12
b 1
c 2
d 3
e 23
123
2
o 10
x 1
1010101
0
Case #1
ad
bcd
be
 
Case #2
ooox
ooxx
oxox
oxxx
xoox
xoxx
xxox
xxxx


Problem setter: Sadrul Habib Chowdhury
Special Thanks: Derek Kisman, EPS