Powered by:AB_IN 局外人
排列
P1339: 排列
it.permutations(可迭代對象,取出來的元素個數)
第二個參數不填,那麼就是全排列。
這個題的4個數都是不一樣的。
菜雞寫的這個,可以不止4個數。
def f(x):
if x==1:
return 1
else:
return f(x-1)*x
import itertools as it
n=int(input())
while n>0:
n-=1
s=input().split()
ans=f(len(s)-1)
lst=list(it.permutations(s))#返回一個二維的全排列列表
lst.sort()#排序
for i in range(len(lst)):
if i%ans==0 and i!=0:
print()
print("".join(lst[i]),end=" ")
print();print()
P1328: 字符排列問題
用函數。比如aacc,電腦是不會去重的(認爲每個元素都不一樣),會出現四個aacc。
這個題每個數可能一樣。
import itertools as it
input();n=list(input())
print(len(set(it.permutations(n))))
不用函數。
def f(x):
if x==1:
return 1
else:
return f(x-1)*x
n=int(input())
s=input();ans=1;a=set(s)
for i in a:
ans*=f(s.count(i))
print(int(f(n)/ans))
組合
it.combinations(可迭代對象,取出來的元素個數)
如:
import itertools as it
n=[1,2,3,4]
print(list(it.combinations(n,2)))
#[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
完結。