Submission #100412

#TimeUsernameProblemLanguageResultExecution timeMemory
1004121KhanLand of the Rainbow Gold (APIO17_rainbow)C++14
0 / 100
3021 ms10340 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[111][111]; 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] = 2; } if(!a[i][j + 1]){ b[i][j + 1] = 2; } if(!a[i][j - 1]){ b[i][j - 1] = 2; } if(!a[i - 1][j]){ b[i - 1][j] = 2; } } 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 = 1; i <= n; ++i){ for(int j = 1; j <= k; ++j){ a[i][j] = 0; } } 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; for(int i = x1 - 1; i <= x2 + 1; ++i){ for(int j = y1 - 1; j <= y2 + 1; ++j){ b[i][j] = 0; } } int ans = 0; for(int i = x1; i <= x2; ++i){ for(int j = y1; j <= y2; ++j){ if(a[i][j] == 0){ int q = 0; if(b[i][j - 1] == 2 && j - 1 >= y1 || b[i][j + 1] == 2 && j + 1 <= x2 || b[i + 1][j] == 2 && i + 1 <= x2 || b[i - 1][j] == 2 && i - 1 >= x1){ q++; } if(!q){ ans++; } b[i][j] = 2; man(x1, y1, x1, y1, x2, y2); } } } return ans; }

Compilation message (stderr)

rainbow.cpp: In function 'int colour(int, int, int, int)':
rainbow.cpp:95:51: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
                               if(b[i][j - 1] == 2 && j - 1 >= y1 || b[i][j + 1] == 2 && j + 1 <= x2 || b[i + 1][j] == 2 && i + 1 <= x2 || b[i - 1][j] == 2 && i - 1 >= x1){
                                  ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
rainbow.cpp:95:121: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
                               if(b[i][j - 1] == 2 && j - 1 >= y1 || b[i][j + 1] == 2 && j + 1 <= x2 || b[i + 1][j] == 2 && i + 1 <= x2 || b[i - 1][j] == 2 && i - 1 >= x1){
                                                                                                        ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
rainbow.cpp:95:156: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
                               if(b[i][j - 1] == 2 && j - 1 >= y1 || b[i][j + 1] == 2 && j + 1 <= x2 || b[i + 1][j] == 2 && i + 1 <= x2 || b[i - 1][j] == 2 && i - 1 >= x1){
                                                                                                                                           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
#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...