【题意】
给定一个整数n,求所有n元置换循环最长的长度(即经过多少次置换变回1..n的序列),并输出字典序最小的该方案
【输入】
第一行一个数t表示几组数据
接下来t行每行一个数字表示数字n
【输出】
对于每组数据输出一行,第一个数字表示所有n元置换循环最长的长度,接下来n个数字表示字典序最小的该方案
置换群
dp来解最大值,用f[i][j]表示n=i时分为j个循环的最大值
然后对于每一个询问进行搜索求方案
program poj3590;
var
all,sum,t,n,i,j,k:longint;
ok:boolean;
f:array [0..101,0..101] of longint;
dl,min:ar......
阅读全文