Submission #1178172

#TimeUsernameProblemLanguageResultExecution timeMemory
1178172ritikthakur2712Tracks in the Snow (BOI13_tracks)C++20
0 / 100
36 ms584 KiB
#include<bits/stdc++.h> #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; 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]; void solve(){ int n,m; 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 int maxi = 1; depth[0][0]=1; while(!q.empty()){ int row = q.front().first; int col = q.front().second; // debug(row);debug(col); maxi = max(maxi, depth[row][col]); q.pop_front(); for(int i=0;i<4; i++){ int nrow = row + drow[i]; int ncol = col + dcol[i]; if( nrow >=0 && ncol >=0 && nrow<n && ncol<m && depth[nrow][ncol]==0 && grid[nrow][ncol]!='.' ){ if ( grid[nrow][ncol] == grid[row][col] ){ depth[nrow][ncol] = depth[row][col]; q.push_front({nrow,ncol}); } else{ depth[nrow][ncol] = depth[row][col] + 1; q.push_back({nrow,ncol}); } } } } cout<<maxi<<"\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...