NOI2 2 1750 全排列 題解 C

2021-10-23 04:22:42 字數 843 閱讀 8810

又來

這一題也不難,跟之前的數字全排列有點像,只不過這次是用字母了而已。

來人,上題~~:

總時間限制: 1000ms 記憶體限制: 65536kb

描述給定乙個由不同的小寫字母組成的字串,輸出這個字串的所有全排列。 我們假設對於小寫字母有』a』 < 『b』 < … < 『y』 < 『z』,而且給定的字串中的字母已經按照從小到大的順序排列。

輸入輸入只有一行,是乙個由不同的小寫字母組成的字串,已知字串的長度在1到6之間。

輸出輸出這個字串的所有排列方式,每行乙個排列。要求字母序比較小的排列在前面。字母序如下定義:

已知s = s1s2…sk , t = t1t2…tk,則s < t 等價於,存在p (1 <= p <= k),使得

s1 = t1, s2 = t2, …, sp - 1 = tp - 1, sp < tp成立。

樣例輸入

abc樣例輸出

abcacb

bacbca

cabcba

因為說的是不同的字母而且已經按照從小到大排序。所以,我們可以用乙個bool陣列儲存每乙個字元是否用過。str用來當結果存放陣列。

#include

using

namespace std;

char a[10]

,str[10]

;bool bk[7]

;int len;

void

sun(

int n)

cout

}else}}

}int

main()

全排列問題 題解

題目描述 從n個不同元素中任取m m n 個元素,按照一定的順序排列起來,叫做從n個不同元素中取出m個元素的乙個排列。當m n時所有的排列情況叫全排列。輸入輸入乙個正整數n n 10 輸出以字典序給出這n個整數能形成的所有排列,每一行乙個排列 示例輸入 3示例輸出 123132 213231 312...

LeetCode題解 46 全排列

leetcode中國,注意需要登入。給定乙個沒有重複數字的序列,返回其所有可能的全排列。輸入 1,2,3 輸出 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 leetcode 給出本題難度中等。根據給出序列,列出全排列。根據樣例輸入資料 1,2,3 我去,這麼簡單,不就是回...

輸出全排列(C 全排列函式)

請編寫程式輸出前n個正整數的全排列 n 10 並通過9個測試用例 即n從1到9 觀察n逐步增大時程式的執行時間。輸入格式 輸入給出正整數n 10 輸出格式 輸出1到n的全排列。每種排列佔一行,數字間無空格。排列的輸出順序為字典序,即序列a 1,a2,an 排在序列b1,b2,bn之前,如果存在k使得...