Submission #100421

#TimeUsernameProblemLanguageResultExecution timeMemory
1004211KhanLand of the Rainbow Gold (APIO17_rainbow)C++14
11 / 100
3007 ms19932 KiB
// In the name of GOD #include "rainbow.h" #include <bits/stdc++.h> #include <ext/rope> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_cxx; using namespace __gnu_pbds; #define BeGood ios_base :: sync_with_stdio(0), cin.tie(0), cout.tie(0); #define orset tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> #define nl '\n' #define ff first #define ss second #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() #define pb push_back typedef long long ll; typedef double db; const int N = 1e4 + 5; //const int M = 1e9 + 7; int a[1111][1111]; int b[1111][1111]; void man(int i, int j, int l, int r, int L, int R){ if(i > L || i < l || j > R || j < r){ return; } if(!a[i + 1][j] && !b[i + 1][j]){ b[i + 1][j] = 2; man(i + 1, j, l, r, L, R); } if(!a[i][j + 1] && !b[i][j + 1]){ b[i][j + 1] = 2; man(i, j + 1, l, r, L, R); } if(!a[i][j - 1] && !b[i][j - 1]){ b[i][j - 1] = 2; man(i, j - 1, l, r, L, R); } if(!a[i - 1][j] && !b[i - 1][j]){ b[i - 1][j] = 2; man(i - 1, j, l, r, L, R); } else{ return; } } void init(int R, int C, int sr, int sc, int M, char *S){ int n = R; int k = C; int x = sr; int y = sc; int slen = M; for(int i = 0; i < slen; ++i){ a[x][y] = 1; if(S[i] == 'N'){ x--; } if(S[i] == 'W'){ y--; } if(S[i] == 'S'){ x++; } if(S[i] == 'E'){ y++; } } a[x][y] = 1; } int colour(int ar, int ac, int br, int bc){ int x1 = ar; int x2 = br; int y1 = ac; int y2 = bc; memset(b, 0, sizeof(b)); int ans = 0; for(int i = x1; i <= x2; ++i){ for(int j = y1; j <= y2; ++j){ if(a[i][j] == 0){ if(b[i][j] == 0){ ans++; } b[i][j] = 2; man(i, j, x1, y1, x2, y2); } } } return ans; }

Compilation message (stderr)

rainbow.cpp: In function 'void init(int, int, int, int, int, char*)':
rainbow.cpp:56:10: warning: unused variable 'n' [-Wunused-variable]
      int n = R;
          ^
rainbow.cpp:57:10: warning: unused variable 'k' [-Wunused-variable]
      int k = C;
          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...