jakao 最近在打ICPC時遇到一個題目如下:
給你一個 $n$,你要找出所有長度為 $n$ 的 $\Bbb{模除排列}p$ 的數量 ( $1 \le p_i\le n$ 且 每個元素 $p_i$ 皆不相同),
模除排列 $p$ 的定義為:$p$ 為包含 $1$ ~ $n$ 的一種排列,其中滿足 $p_i \mod p_{i+1} \le 2 (1\leq i\leq n $ 且 $ p_{n+1}=p_1)$
但想了很久,都沒想到好的做法,於是 jakao 想請你幫忙寫一隻程式,給你一個 $n$ ,輸出所有長度為 $n$的模除排序
請你幫助 jakao 生出所有模除排列去找一些規律想做法
All I want to say is......Hi!! :)
多筆測資
第一行會有一個$t(1 \le t \le 10)$,代表總共 $t$ 筆測資
每筆測資會有一個 $n (1 \le n \le 15)$,代表詢問長度為 $n$ 的所有模除排列
每筆測資輸出所有的模除排列,並請依照$字典序大小$輸出
字典序大小為:如果排列 $a$ 排在 排列 $b$ 前面,則從排列左邊位置數過來第一個不同的數字,$a$ 的會小於 $b$
2 2 3
1 2 2 1 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |