Submission #1321627

#TimeUsernameProblemLanguageResultExecution timeMemory
1321627exoworldgdTracks in the Snow (BOI13_tracks)C++20
100 / 100
804 ms420480 KiB
#include<bits/stdc++.h> #define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0) #define int long long using namespace std; const int N=4005; int n,m,dx[]={-1,0,1,0},dy[]={0,1,0,-1},vis[N][N],mx; char c[N][N]; signed main(void){ exoworldgd; cin>>n>>m; for(int i=0;i<n;i++)cin>>c[i]; deque<array<int,3>>q; q.push_back({1,0,0}); while(q.size()){ auto[w,x,y]=q.front();q.pop_front(); if(vis[x][y])continue; vis[x][y]=w; for(int i=0;i<4;i++){ int nx=x+dx[i],ny=y+dy[i]; if(nx>=0&&nx<n&&ny>=0&&ny<m&&!vis[nx][ny]&&c[nx][ny]^'.'){ if(c[nx][ny]==c[x][y])q.push_front({w,nx,ny}); else q.push_back({w+1,nx,ny}); } } } for(int i=0;i<n;i++)for(int j=0;j<m;j++)mx=max(mx,vis[i][j]); cout<<mx; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...