description
有n個字母,列出由該字母組成的字串的全排列(相同的排列只計一次)。
input
輸入有多組測試資料,第一行輸入是字母個數n,1<=n<=20。接下來一行輸入的是待排列的n個字母。
output
計算出的n 個字母的所有不同排列總數
sample input copy
4aacc
sample output copy
6題解思路:用所有字母的排列數除以每個重複字母排列數。
abcd排列數:1×2×3×4
abcc排列數:1×2×3×4 / ( 1×2×(1×2) )
#include
#include
#include
#include
#include
#define ll long long
#define ull unsigned long long
const
int n =
1e6+
6666
;ll jc
(ll k)
return ans;
}int x[
200]
;int
main()
for(
int i=
97; i<
123; i++)}
printf
("%lld\n",jc
(n)/m);}
return0;
}
28 字串的排列
題目 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。解題思路 遞迴呼叫 遞迴演算法的四個特性 1.必須可以達到終止條件,否則會陷入死迴圈 2 子問題在規模上比原問題小 3 子問題可...
27 字串的排列
題目 輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。思路 全排列,採用遞迴。1 首先,我們固定第乙個字元a,求後面兩個字元bc的排列 2 當兩個字元bc排列求好之後,我們把第乙個字...
567 字串的排列
給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true 解釋 s2 包含 s1 的排列之一 ba 思路 注釋 public boolean checkinclus...