Submission #1140257

#TimeUsernameProblemLanguageResultExecution timeMemory
1140257mnbvcxz123Pohlepko (COCI16_pohlepko)C++20
80 / 80
31 ms4492 KiB
#include<bits/stdc++.h> using namespace std; using ll=long long; using pi=pair<int,int>; #define pb push_back #define fi first #define se second constexpr int dx[2]={0,1}; constexpr int dy[2]={1,0}; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n,m; cin>>n>>m; vector<vector<char>>a(n,vector<char>(m,1)); for(int i=0;i<n;++i) for(int j=0;j<m;++j) cin>>a[i][j]; vector<pi>v; v.pb({0,0}); while(!v.empty()){ vector<pi>nw; cout<<a[v[0].fi][v[0].se]; if(v[0]==pi(n-1,m-1))break; int opt=-1; for(const auto&[x,y]:v) for(int i=0;i<2;++i){ int nx=x+dx[i]; int ny=y+dy[i]; if(nx>=n or ny>=m)continue; int c=a[nx][ny]-97; if(opt==-1 or c<opt){ opt=c; nw.clear(); nw.pb({nx,ny}); }else if(opt==c)nw.pb({nx,ny}); } sort(nw.begin(),nw.end()); nw.erase(unique(nw.begin(),nw.end()),nw.end()); v.swap(nw); } }
#Verdict Execution timeMemoryGrader output
Fetching results...