Submission #1264931

#TimeUsernameProblemLanguageResultExecution timeMemory
1264931yeshwithaTracks in the Snow (BOI13_tracks)C++20
0 / 100
277 ms93460 KiB
#include <bits/stdc++.h> using namespace std; int main() { int h, w; cin >> h >> w; vector < string > grid(h); for (int i = 0; i < h; i++) cin >> grid[i]; vector < vector < int >> dp(h, vector < int > (w, 1e9)); dp[0][0] = 1; for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { if (i == 0 && j == 0) continue; if (grid[i][j] != '.') { if (i > 0) { if (grid[i][j] == grid[i - 1][j]) dp[i][j] = min(dp[i][j], dp[i - 1][j]); else dp[i][j] = min(dp[i][j], dp[i - 1][j] + 1); } if (j > 0) { if (grid[i][j] == grid[i][j - 1]) dp[i][j] = min(dp[i][j], dp[i][j - 1]); else dp[i][j] = min(dp[i][j], dp[i][j - 1] + 1); } else { if (i > 0) dp[i][j] = min(dp[i][j], dp[i - 1][j]); if (j > 0) dp[i][j] = min(dp[i][j], dp[i][j - 1]); } } } } cout << dp[h - 1][w - 1] + 1 << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...