a615: B. 模除排列
標籤 :
通過比率 : 3人/4人 ( 75% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-06-03 23:02

內容

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
測資資訊:
記憶體限制: 256 MB
不公開 測資點#0 (25%): 1.5s , <1K
不公開 測資點#1 (25%): 1.5s , <1K
不公開 測資點#2 (25%): 1.5s , <1K
不公開 測資點#3 (25%): 1.5s , <1K
提示 :
標籤:
出處:
DDJ Regular ContestRound#3 [管理者:
fdhs105285 (jakao)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」