結果
問題 | No.1156 Nada Picnic 2 |
ユーザー | kikage |
提出日時 | 2021-08-16 16:08:55 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 30 ms / 2,000 ms |
コード長 | 1,382 bytes |
コンパイル時間 | 184 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-10-09 13:14:59 |
合計ジャッジ時間 | 1,105 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 30 ms
10,624 KB |
testcase_01 | AC | 30 ms
10,624 KB |
testcase_02 | AC | 29 ms
10,752 KB |
ソースコード
""" #問題のA+B=S型の覆面算を解くプログラム from itertools import permutations N=int(input())-1 hukumen=[ ["シイタ","ケヤマ","イキタイ"], ["オオツカ","コクサイ","ビジツカン"], ["spring","eight","picnic"] ] mozi=list(set([c for i in range(3) for c in hukumen[N][i]])) mozi_non0=list(set([hukumen[N][i][0] for i in range(3)])) rhkmn=[ [''.join(list(reversed(hukumen[i][j]))) for j in range(3)] for i in range(3) ] #和の制約のため #全探索 for ans in permutations(range(10),len(mozi)): #ansとmoziの順番は対応する.dict coord=dict(zip(mozi,ans)) #print(coord) flag=True #non0の確認 for c in mozi_non0: if coord[c]==0: flag=False if not flag: #print("debug_non0") continue #+の答え al=len(rhkmn[N][0]) bl=len(rhkmn[N][1]) sl=len(rhkmn[N][2]) sc=0 for i in range(sl): tmp=sc if i<al:tmp+=coord[rhkmn[N][0][i]] if i<bl:tmp+=coord[rhkmn[N][1][i]] sc = tmp//10 #繰り上がり tmp= tmp%10 #check if tmp!=coord[rhkmn[N][2][i]]: flag=False break if not flag:continue #答え print("OK",coord) print("END") """ N=int(input()) if N==1 :print(1051) elif N==2 :print(10947) else :print(841341)