解题思路:
注意事项:
参考代码:
方法一:直接全排列再去重
from itertools import permutations
try:
while True:
a=input()
s=input()
slis=list(s)
quanpailie=list(permutations(slis))
print(len(set(quanpailie)))
except:pass
方法二:计算出全排列数量,再除以每个重复的元素的排列数。
from math import factorial
try:
while True:
a = input()
s=input()
slis=list(s)
sset=set(slis)
quanpailie = factorial(a)
for i in sset:
quanpailie/=(factorial(slis.count(i)))
print(int(quanpailie))
except:pass
0.0分
0 人评分
字符串输入输出函数 (C++代码)(都当成字符串吧hhhhhhhh)浏览:493 |
奖学金 (C++代码)浏览:2008 |
蛇行矩阵 (C语言代码)浏览:753 |
C语言程序设计教程(第三版)课后习题8.2 (C语言代码)浏览:5232 |
printf基础练习2 (C语言代码)浏览:646 |
完数 (C语言代码)浏览:693 |
P1000 (C语言代码)浏览:877 |
蛇行矩阵 (C语言代码)浏览:507 |
第三届阿里中间件性能挑战赛-总决赛亚军比赛攻略浏览:1145 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:668 |