Responsive image

问题 1679 --[USACO 5.5.3]二五语言

1679: [USACO 5.5.3]二五语言

时间限制: 1 Sec  内存限制: 64 MB
提交: 0  解决: 0
[提交][状态][讨论版][命题人:]

题目描述

有一种奇怪的语言叫做“二五语言”。它的每个单词都由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的行号和列号……依此类推。得到的序列叫做行列序列。如上面的合法单词的行列序列是:11 21 12 22 13 31 41 23 51 32 42 52 33 43 53 14 24 34 44 15 25 54 35 45 55。然后把所有合法单词的行列序列排序。一个单词的行列序列排序后的位置,就是这个单词的编码。比如,单词ABCDEFGHIJKLMNOPQRSTUVWXY的编码为1,而单词ABCDEFGHIJKLMNOPQRSUTVWXY的编码为2。 现在,你需要编一个程序,完成单词与编码间的转换。

输入描述

第一行为一个字母N或W。N表示把编码转换为单词,W表示把单词转换为编码。 若第一行为N,则第二行为一个整数,表示单词的编码。若第一行为W,则第二行为一个合法的单词。

输出描述

每行一个整数或单词。

样例输入

SAMPLE INPUT  #1
N
2
SAMPLE INPUT #2
W 
ABCDEFGHIJKLMNOPQRSUTVWXY

样例输出

SAMPLE OUTPUT #1
ABCDEFGHIJKLMNOPQRSUTVWXY

SAMPLE OUTPUT #2
2

来源

[提交][状态]
ACM算法攻关部