結果
問題 | No.73 helloworld |
ユーザー |
![]() |
提出日時 | 2022-04-19 01:45:46 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 37 ms / 5,000 ms |
コード長 | 767 bytes |
コンパイル時間 | 153 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-12-30 14:15:35 |
合計ジャッジ時間 | 1,427 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 |
ソースコード
import sys readline=sys.stdin.readline def Comb(N,K,mod=0): if K<0 or K>N: return 0 K=min(K,N-K) s=1 if mod: for i in range(N,N-K,-1): s*=i s%=mod ss=1 for i in range(1,K+1): ss*=i ss%=mod s*=MOD(mod).Pow(ss,-1) s%=mod else: for i in range(N-K+1,N+1): s*=i for i in range(1,K+1): s//=i return s C=[int(readline()) for i in range(26)] h=ord("h")-97 e=ord("e")-97 l=ord("l")-97 o=ord("o")-97 w=ord("w")-97 r=ord("r")-97 d=ord("d")-97 ans=Comb(C[h],1)*Comb(C[e],1)*Comb(C[o]//2,1)*Comb((C[o]+1)//2,1)*Comb(C[w],1)*Comb(C[r],1)*Comb(C[d],1) ans*=max(Comb(C[l]-c,2)*Comb(c,1) for c in range(C[l]+1)) print(ans)