結果
問題 |
No.971 いたずらっ子
|
ユーザー |
![]() |
提出日時 | 2019-12-03 23:14:42 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 125 ms / 2,000 ms |
コード長 | 709 bytes |
コンパイル時間 | 2,035 ms |
コンパイル使用メモリ | 199,588 KB |
最終ジャッジ日時 | 2025-01-08 07:20:45 |
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
ソースコード
#include <bits/stdc++.h> using namespace std; using i64 = long; signed main() { int h, w; cin >> h >> w; vector<string> a(h); for (auto &x : a) cin >> x; vector<vector<int>> dp(h, vector<int>(w, 1e9)); for(int i = 0; i < h; ++i) for(int j = 0; j < w; ++j){ if(i == 0 && j == 0){ dp[i][j] = 0; continue; } int res = 1e9; if(i) res = min(res, dp[i - 1][j] + 1); if(j) res = min(res, dp[i][j - 1] + 1); if(a[i][j] == 'k') res += i + j; dp[i][j] = res; } cout << dp.back().back() << endl; }