Py3 排列组合
排列组合
2023-09-27 14:27:32 时间
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)]
完结。
相关文章
- 排列组合生成多种组合的工具类
- 排列组合的实现
- hdu5396 Expression 区间dp +排列组合
- 排列组合(permutation)系列解题报告
- 无重复字符串的排列组合
- LeetCode高频题:dfs排列组合问题,剪枝策略,参观展厅总时间120分钟,请你给出所有可能的参观方案的个数
- LeetCode高频题62. 不同路径:机器人从左上角到右下角的路径有多少条?纯概率排列组合问题,而不是动态规划题
- n个数字恰好组成k个逆序对的排列组合方案有几个?
- C#,排列组合的堆生成法(Heap’s Algorithm for generating permutations)算法与源代码
- amb解决排列组合问题
- [算法]计算全排列组合数
- CodeForces 146E Lucky Subsequence (排列组合 + DP)
- BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)
- SPOJ - AMR11H Array Diversity (水题排列组合或容斥)
- HDU 1996 汉诺塔VI (排列组合)
- UVa 11538 Chess Queen (排列组合计数)
- UVa 12712 && UVaLive 6653 Pattern Locker (排列组合)
- UVaLive 7360 Run Step (排列组合,枚举)
- 杨辉三角与排列组合数
- php数组排列组合(递归形式),可用于服装等商品规格的排列组合
- js实现超简单sku组合算法(不同属性的排列组合)
- 关于排列组合的推理判断
- 浅谈多重集排列组合
- 排列组合问题相关知识
- 全排列组合算法
- JQuery/JS插件 排列组合 前端实现