제출 #864392

#제출 시각아이디문제언어결과실행 시간메모리
864392gutzzyPohlepko (COCI16_pohlepko)C++14
40 / 80
86 ms65536 KiB
#include <bits/stdc++.h> using namespace std; int n; int m; string ans; vector<vector<char>> board; vector<vector<string>> dp; string calc(int i, int j){ if(dp[i][j]!="-1") return dp[i][j]; dp[i][j] = board[i][j] + min(calc(i+1,j),calc(i,j+1)); return dp[i][j]; } int main() { cin >> n >> m; board = vector<vector<char>>(n,vector<char>(m)); dp = vector<vector<string>>(n,vector<string>(m, "-1")); for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin >> board[i][j]; } } dp[n-1][m-1] = board[n-1][m-1]; string s = ""; for(int j=m-1;j>=0;j--){ s=board[n-1][j]+s; dp[n-1][j] = s; } s = ""; for(int i=n-1;i>=0;i--){ s=board[i][m-1]+s; dp[i][m-1] = s; } cout << calc(0,0) << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...