Submission #26488

#TimeUsernameProblemLanguageResultExecution timeMemory
26488samir_droubiTracks in the Snow (BOI13_tracks)C++14
97.81 / 100
1216 ms1048576 KiB
#include <bits/stdc++.h> using namespace std; const int mxn=4005; char g[mxn][mxn]; int n,m; int dx[]={0,0,1,-1}; int dy[]={1,-1,0,0}; bool check(int x,int y) { return x>=0&&x<n&&y>=0&&y<m&&g[x][y]!='*'; } char ty; int c=0; vector<pair<int,int> >v; vector<pair<int,int> >vv; void dfs(int x,int y) { ++c; g[x][y]='.'; for(int i=0;i<4;++i) { int xx=x+dx[i]; int yy=y+dy[i]; if(!check(xx,yy))continue; if(g[xx][yy]!=ty) { vv.push_back({xx,yy}); continue; } dfs(xx,yy); } } int main() { scanf("%d%d",&n,&m); int cnt=n*m; for(int i=0;i<n;++i)scanf("%s",&g[i]); for(int i=0;i<n;++i) { for(int j=0;j<m;++j) if(g[i][j]=='.') --cnt; } v.push_back({0,0}); int ans=0; while(c!=cnt) { for(int i=0;i<v.size();++i) { int x=v[i].first; int y=v[i].second; if(g[x][y]=='.')continue; ty=g[x][y]; dfs(x,y); } v=vv; vv.clear(); ++ans; } printf("%d\n",ans); return 0; }

Compilation message (stderr)

tracks.cpp: In function 'int main()':
tracks.cpp:38:38: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'char (*)[4005]' [-Wformat=]
  for(int i=0;i<n;++i)scanf("%s",&g[i]);
                                      ^
tracks.cpp:49:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<v.size();++i)
                ^
tracks.cpp:36:21: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&m);
                     ^
tracks.cpp:38:39: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i=0;i<n;++i)scanf("%s",&g[i]);
                                       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...