Algorithm 版 (精华区)
发信人: sino (仿佛永远分离 却又终身相依), 信区: Algorithm
标 题: Contest Part I Problem 3
发信站: 哈工大紫丁香 (2002年08月16日09:19:17 星期五), 站内信件
数字排列变换(20分)
将数字1至8组成排列,众所周知有8!=40320个,将它们按大小顺序排出来是这样的
12345678
12345687
12345768
12345786
……
87654312
87654321
按顺序给每个排列都编上号,例如12345678是0号,12345687是1号,一直到87654321
是40319号.请编一个程序,完成下列两种任务
(1) 任意给出一个排列,求出其号码
(2) 任意给出一个号码,求出对应排列
输入数据:
输入数据从input.txt中读入.文件的第1行是排列中数字的个数N(1<=N<=9),第2行
是任务(1)的数量T1(0<=T1<=10000),第3行是任务(2)的数量T2(0<=T2<=10000),接
着的T1行每行是一个由数字1至n组成的排列;最后T2行每行是一个数,它的大小在0
到N!-1之间.
输出数据:
结果应输出到output.txt中,文件的第1行是排列中数字的个数N(1<=N<=9),第2行
是T1,第3行是T2,接着的T1行是任务(1)的结果;最后T2行是任务(2)的结果.
输入输出示例:
Input.txt Output.txt
33213221331235 332124231321
--
把时髦的技术挂在嘴边
还不如把过时的技术记在心里
-- Kingofark's 50 points of view about learning C++
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.226.228]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.179毫秒