結果
問題 |
No.971 いたずらっ子
|
ユーザー |
👑 ![]() |
提出日時 | 2022-01-03 02:57:37 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 375 ms / 2,000 ms |
コード長 | 785 bytes |
コンパイル時間 | 503 ms |
コンパイル使用メモリ | 82,560 KB |
実行使用メモリ | 141,184 KB |
最終ジャッジ日時 | 2024-11-07 11:50:55 |
合計ジャッジ時間 | 4,941 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
#================================================== H,W=map(int,input().split()) A=[] for _ in range(H): A.append(list(map(lambda x:1 if x=="k" else 0,input()))) DP=[[0]*W for _ in range(H)]; DP[0][0]=0 inf=1000*H*W for i in range(H): a=A[i] D=DP[i] for j in range(W): if i==j==0: continue X=inf if i!=0: if a[j]==0: if X>DP[i-1][j]+1: X=DP[i-1][j]+1 else: if X>DP[i-1][j]+1+(i+j): X=DP[i-1][j]+1+(i+j) if j!=0: if a[j]==0: if X>D[j-1]+1: X=D[j-1]+1 else: if X>D[j-1]+1+(i+j): X=D[j-1]+1+(i+j) D[j]=X print(DP[-1][-1])