求一个分区排列的算法,高手们请进。急!!!
有22个分区,每个分区对应的号码是按其被取出的多少来排列的,设取了N次,设出现下面11次的排序(第一行为22个分区号),现在要做的就是对应着右边取出的号对这22个区进行重新排列,排列出的顺序要求是对应右边的出号找出连续斜连的排列,从最后一次往上排,求出所有连续斜连数超过7次的可能。描述的不是很好,就举个排列的例子吧。
排列顺序 取出的号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
10 02 07 04 16 21 18 01 05 08 15 20 09 11 19 06 03 12 14 22 17 13 11 13 14 15 18
10 02 07 04 16 21 18 01 05 08 15 20 09 11 19 06 03 12 14 22 17 13 08 10 12 13 20
10 02 07 04 16 21 18 08 01 05 15 20 09 11 19 06 12 03 14 22 13 17 07 08 12 13 16
10 02 07 04 16 21 18 08 01 05 15 20 09 11 19 12 06 03 14 22 13 17 01 06 09 14 19
10 02 07 04 16 21 18 08 01 05 15 20 09 11 19 06 12 03 14 22 13 17 07 09 11 18 22
10 02 07 04 16 18 21 08 01 05 15 20 09 11 19 06 12 03 14 22 13 17 05 09 12 19 22
10 02 07 04 16 18 21 08 01 05 15 09 20 11 19 12 06 03 14 22 13 17 01 03 18 19 20
10 02 07 04 16 18 21 01 08 05 15 20 09 11 19 12 06 03 14 22 13 17 01 06 07 14 22
10 02 07 04 16 18 21 01 08 05 15 20 09 11 19 06 12 03 14 22 13 17 03 15 17 18 20
10 02 07 04 16 18 21 01 08 05 15 20 09 11 19 06 12 03 14 22 13 17 02 06 07 10 17
10 02 07 04 16 18 21 01 08 05 15 20 09 11 19 06 12 03 14 22 17 13 03 05 15 16 20
以上面的图为例,可以得到这样的一个连续斜连为11次的排列,第一行为区号数,下面的为在当次取号每个区所对应的数字。
11 18 5 19 7 15 13 20 6 22 12
15
12
16
14
18
19
20
22
18
17
20