제출 #167160

#제출 시각아이디문제언어결과실행 시간메모리
167160egekabasPohlepko (COCI16_pohlepko)C++14
65 / 80
1064 ms65540 KiB
#include <bits/stdc++.h> #define ff first #define ss second #define pb push_back #define mp make_pair using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef pair<ll, ll> pll; typedef pair<ull, ull> pull; typedef pair<int, int> pii; typedef pair<ld, ld> pld; int n, m; char a[2009][2009]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); cin >> n >> m; for(int i = 1; i <= n; ++i) for(int j = 1; j <= m; ++j) cin >> a[i][j]; vector<pii> cur = {{1, 1}}; string s; s.pb(a[1][1]); while(1){ vector<pii> nxt[30]; for(auto u : cur){ if(u == mp(n, m)) goto END; if(u.ff+1 <= n) nxt[a[u.ff+1][u.ss]-'a'].pb({u.ff+1, u.ss}); if(u.ss+1 <= m) nxt[a[u.ff][u.ss+1]-'a'].pb({u.ff, u.ss+1}); } for(int i = 0; i < 'z'-'a'; ++i){ if(nxt[i].size() > 0){ cur = nxt[i]; s.pb((char)(i+'a')); break; } } } END:; cout << s << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...