切換
舊版
前往
大廳
主題

ZeroJudge - e446: 排列生成 解題心得

Not In My Back Yard | 2019-10-05 21:22:36 | 巴幣 2 | 人氣 359

題目連結:


題目大意:
給定一正整數 N (1 ≦ N ≦ 10)。請求出連續整數 1 ~ N 的所有可能排列,並按照字典序輸出。



範例輸入:
3


範例輸出:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1


解題思維:
這題類似的作法,只是每個數字可以隨便接在任意數字後面。

直接遞迴後輸出可以過。而要輸出得快一點的話,簡單的輸出最佳化就是將 cout 解綁或是將 cout 換成 printf(這邊當然是以 C++ 為主);想做額外最佳化的,可以參見這題

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作