各OJ不一样
查看原帖
各OJ不一样
235671
fireinice楼主2022/5/23 08:25

BZOJ过了而洛谷RE

水python代码:

s=input()
cnt={1:0,2:0,0:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0}
n=len(s)
s=list(s)
for i in range(n):
    s[i]=int(s[i])
    cnt[s[i]]+=1
f=[1]*60
for i in range(1,60):
    f[i]=f[i-1]*i
res=0
for i in range(n):
    for j in range(s[i]):
        if cnt[j]<=0:continue
        cnt[j]-=1
        su=0
        r=1
        for k in range(10):
            su+=cnt[k]
        r*=f[su]
        for k in range(10):
            r//=f[cnt[k]]
        res+=r
        cnt[j]+=1
    cnt[s[i]]-=1
print(res)
2022/5/23 08:25
加载中...