P96893

5.5.3 Two Five 二五语言

难度 未定
讨论 统计 0通过 0提交 旧版界面
时间限制 1 秒 内存限制 128 MB

题目描述

有一种奇怪的语言叫做“二五语言”.它的每个单词都由A~Y这25个字母各一个组成.合法的二五语言单词必须满足这样一个条件:把它的 25个字母排成一个 5*5的矩阵,它的每一行和每一列都必须是递增的.比如单词 ACEPTBDHQUFJMRWGKNSXILOVY,它排成的矩阵如下所示:

                                                                 A C E P T 

                                                                 B D H Q U

                                                                 F J M R W

                                                                 G K N S X 

                                                                 I  L O V Y

它每行每列都是递增的,是一个合法的单词.而 YXWVUTSRQPONMLKJIHGFEDCBA 则不合法.

由于单词太长存储不便,需要给每一个单词编一个码.编码方法如下:写出单词中字母 A在矩阵中的行号和列号,再写出 B的行号和列号……依此类推.得到的序列叫做行列序列.如上面的合法单词的行列序列是:11211222133141235132425233435314243444152554354555.

然后把所有合法单词的行列序列排序.一个单词的行列序列排序后的位置,就是这个单词的编码.比如,单词ABCDEFGHIJKLMNOPQRSTUVWXY的编码为1,而单词ABCDEFGHIJKLMNOPQRSUTVWXY的编码为2.

现在,你需要编一个程序,完成单词与编码间的转换.

 

输入

第一行为一个字母 N 或 W.N 表示把编码转换为单词,W 表示把单词转换为编码.

若第一行为 N,则第二行为一个整数,表示单词的编码.若第一行为 W,则第二行为一个合法的单词.

输出

每行一个整数或单词.

样例

样例 1
输入
N
2
输出
ABCDEFGHIJKLMNOPQRSUTVWXY
样例 2
输入
W
输出
2

来源

USACO

Tab 缩进 · 提交后可在下方查看评测状态
请先登录后再提交