Submission #1178182

#TimeUsernameProblemLanguageResultExecution timeMemory
1178182ritikthakur2712Tracks in the Snow (BOI13_tracks)C++20
0 / 100
2 ms584 KiB
#include<bits/stdc++.h> using namespace std; int drow[4]{1, -1, 0, 0}, dcol[4]{0, 0, 1, -1}; int n, m, depth[4000][4000], ans = 1; string grid[4000]; bool inside(int x, int y) { return (x > -1 && x < n && y > -1 && y < m && grid[x][y] != '.'); } void solve(){ cin>>n>>m; for(int i=0; i<n; i++){ cin>>grid[i]; } // todo: find the layers in the grid, like how deep can we go into the grid deque<pair<int,int>>q; q.push_back({0,0}); // top-left corner depth[0][0]=1; while(q.size()){ pair<int,int>c = q.front(); q.pop_front(); ans = max(ans, depth[c.first][c.second]); for(int i=0;i<4; i++){ int x = c.first + drow[i]; int y = c.second + dcol[i]; if( inside(x,y) && depth[x][y]==0 ){ if ( grid[x][y] == grid[c.first][c.second] ){ depth[x][y] = depth[c.first][c.second]; q.push_front({x,y}); } else{ depth[x][y] = depth[c.first][c.second] + 1; q.push_back({x,y}); } } } } cout<<ans<<"\n"; } int32_t main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); #ifndef ONLINE_JUDGE freopen("Error.txt", "w", stderr); freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif solve(); return 0; }

Compilation message (stderr)

tracks.cpp: In function 'int32_t main()':
tracks.cpp:52:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   52 |     freopen("Error.txt", "w", stderr);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
tracks.cpp:53:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   53 |     freopen("input.txt", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
tracks.cpp:54:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   54 |     freopen("output.txt", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...