제출 #26489

#제출 시각아이디문제언어결과실행 시간메모리
26489samir_droubiTracks in the Snow (BOI13_tracks)C++14
100 / 100
1416 ms838424 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; queue<pair<int,int> >q; void bfs() { while(!q.empty()) { int x=q.front().first; int y=q.front().second; ++c; q.pop(); 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; } q.push({xx,yy}); g[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]; g[x][y]='.'; q.push({x,y}); bfs(); } v=vv; vv.clear(); ++ans; } printf("%d\n",ans); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

tracks.cpp: In function 'int main()':
tracks.cpp:45: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:56:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<v.size();++i)
                ^
tracks.cpp:43: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:45: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...