Submission #1006044

#TimeUsernameProblemLanguageResultExecution timeMemory
1006044Vivek_03_Tracks in the Snow (BOI13_tracks)C++14
0 / 100
520 ms142164 KiB
#include<iostream> #include<vector> #include<string> #include<queue> #include<algorithm> #include<set> #include<map> #include<unordered_map> #include<cstdio> using namespace std; #ifndef LOCAL #pragma GCC optimize ("Ofast") #pragma GCC optimize ("unroll-loops") #pragma GCC target("avx2,popcnt") #endif #define fastio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define pb push_back #define ppb pop_back #define mp make_pair typedef long long ll; typedef unsigned long long ull; typedef long double lld; #ifndef ONLINE_JUDGE #define debug(x) cerr << #x <<" "; _print(x); cerr << endl; #else #define debug(x) #endif void _print(ll t) {cerr << t;} void _print(int t) {cerr << t;} void _print(string t) {cerr << t;} void _print(char t) {cerr << t;} void _print(lld t) {cerr << t;} void _print(double t) {cerr << t;} void _print(ull t) {cerr << t;} void _print(pair<int,int> t) {cerr << t.first << ' '<<t.second;} template <class T> void _print(vector <T> v); template <class T> void _print(set <T> v); template <class T> void _print(multiset <T> v); template <class T> void _print(vector <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T> void _print(set <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T> void _print(multiset <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T, class V> void _print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} int main() { fastio(); #ifndef ONLINE_JUDGE freopen("Error.txt", "w", stderr); #endif int r,c; cin>>r>>c; vector<vector<int>> v(r, vector<int>(c,-1)); for(int i=0;i<r;i++) { for(int j=0;j<c;j++) { char c; cin>>c; if(c=='F') { v[i][j]=1; } else if(c=='R') v[i][j]=0; } } vector<vector<int>> visited(r, vector<int>(c,0)); int curr=0; vector<int> dx{1,0,-1,0}; vector<int> dy{0,1,0,-1}; for(int i=0;i<r;i++) { for(int j=0;j<c;j++) { if(v[i][j]==-1) continue; int id = v[i][j]; if(visited[i][j]==0) { queue<pair<int,int>> q; q.push({i,j}); curr++; while(q.size()) { int x = q.front().first, y = q.front().second; q.pop(); if(x<0 || x>=r || y<0 || y>=c || visited[x][y] || v[i][j]!=id) continue; visited[x][y] = curr; for(int i=0;i<4;i++) { q.push({x + dx[i], y + dy[i]}); } } } } } cout<<curr+1<<'\n'; }

Compilation message (stderr)

tracks.cpp: In function 'int main()':
tracks.cpp:56:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   56 |         freopen("Error.txt", "w", stderr);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...