結果
問題 | No.971 いたずらっ子 |
ユーザー | tekihei2317 |
提出日時 | 2020-01-18 12:06:33 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 121 ms / 2,000 ms |
コード長 | 483 bytes |
コンパイル時間 | 1,816 ms |
コンパイル使用メモリ | 172,364 KB |
実行使用メモリ | 26,624 KB |
最終ジャッジ日時 | 2024-11-07 11:37:52 |
合計ジャッジ時間 | 3,981 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
#include<bits/stdc++.h> using namespace std; using Lint=long long; const int INF=1e9; int main() { int H,W; cin>>H>>W; vector<string> s(H); for(int i=0;i<H;i++) cin>>s[i]; vector<vector<int>> dp(H,vector<int>(W,INF)); dp[0][0]=0; for(int i=0;i<H;i++) for(int j=0;j<W;j++){ if(i>0) dp[i][j]=min(dp[i][j],dp[i-1][j]+1); if(j>0) dp[i][j]=min(dp[i][j],dp[i][j-1]+1); if(s[i][j]=='k') dp[i][j]+=i+j; } cout<<dp[H-1][W-1]<<endl; return 0; }