Submission #161999

#TimeUsernameProblemLanguageResultExecution timeMemory
161999MinnakhmetovLand of the Rainbow Gold (APIO17_rainbow)C++14
0 / 100
3 ms760 KiB
#include "rainbow.h" #include <bits/stdc++.h> using namespace std; #define all(aaa) aaa.begin(), aaa.end() string dir = "NSEW"; const int dx[4] = {-1, 1, 0, 0}, dy[4] = {0, 0, 1, -1}; const int N = 52; int a[N][N]; void init(int R, int C, int sr, int sc, int M, char *S) { a[sr][sc] = 1; int x = sr, y = sc; for (int i = 0; i < M; i++) { int k = find(all(dir), S[i]) - dir.begin(); x += dx[k]; y += dy[k]; a[x][y] = 1; } // for (int i = 1; i <= R; i++) { // for (int j = 1; j <= C; j++) { // cout << a[i][j]; // } // cout << "\n"; // } } int colour(int ar, int ac, int br, int bc) { int ans = 1; for (int i = ar + 1; i < br; i++) { for (int j = ac; j < bc; j++) { ans += (a[i][j] && a[i][j + 1]); } } for (int i = ar; i < br; i++) { for (int j = ac + 1; j < bc; j++) { ans += (a[i + 1][j] && a[i][j]); } } for (int i = ar; i <= br; i++) { for (int j = ac; j <= bc; j++) { ans -= a[i][j]; } } for (int i = ar; i <= br; i++) { ans += a[i][ac] + a[i][bc]; } for (int i = ac; i <= bc; i++) { ans += a[ar][i] + a[br][i]; } for (int i = ar; i < br; i++) { for (int j = ac; j < bc; j++) { ans -= (a[i][j] && a[i + 1][j] && a[i][j + 1] && a[i + 1][j + 1]); } } ans -= a[ar][ac] + a[ar][bc] + a[br][ac] + a[br][bc]; return ans; }
#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...