2098: 涂鸦
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:2
解决:0
题目描述
MSQ是个热爱涂鸦的OIer,某一天他非常激动地告诉我们他接到了一个任务,就是在城管门口涂鸦。在涂鸦中,有一些字母组合是从不会出现在涂鸦中的,例如字母“buv”。给出这些从不出现的字母组合后,所有的能够涂鸦的单词集合也就确定了。我们可以对这些单词按字典顺序从小到大排序,这样每个单词就对应一个唯一的编号,本题总是假设字母表为小写字母‘a’~‘z’,编号从1开始。
例如,如果从不出现的字母组合为“q”“ab”“aaa”,单词的编号将如下所示:
1. a
2. b
...
16. p
17. r
...
26. aa
27. ac
...
649. zz
650. aac
MSQ接到的任务中只告诉了他所需要涂鸦的单词的编号以及不允许出现的字母组合。MSQ很想知道他应该在城管的门口涂上哪一个单词,你可以假设单词的长度不超过20,编号不超过2,000,000,000。
除此之外,其他人也想知道对于MSQ所涂上的单词,它的编号是多少
现在,需要你来编写一个程序,分别为MSQ和其他人解决问题
输入
输入文件第一行包含一个整数N,其中N<=1000,表示从不出现的字母组合的总数,接下来的N行包含一个从不出现的字母组合,每个字母组合由1~3个小写字母组成,最后的一行为一个编号或一个单词(如果为一个数字,即解决MSQ的问题,如果是一个单词,即解决其他人的问题)。
输出
输出文件仅有一行,如果输入文件的最后一行为一个编号则输出相对应的单词,如果输出文件的最后一行为一个单词则输出相对应的编号。
样例输入 复制
3
q
ab
aaa
aac
样例输出 复制
650