Submission #1170668

#TimeUsernameProblemLanguageResultExecution timeMemory
1170668Muhammet무지개나라 (APIO17_rainbow)C++20
11 / 100
14 ms1100 KiB
#include "bits/stdc++.h" #include "rainbow.h" // #include "grader.cpp" using namespace std; const int N = 1e2 + 5; int a[N][N], vis[N][N], n, m, n1, n2, m1, m2; bool check(int i, int j) { return (!vis[i][j] and !a[i][j] and i <= n1 and i >= n2 and j <= m1 and j >= m2); } void dfs(int i, int j) { vis[i][j] = true; if(check(i+1, j)) dfs(i+1, j); if(check(i-1, j)) dfs(i-1, j); if(check(i, j+1)) dfs(i, j+1); if(check(i, j-1)) dfs(i, j-1); } void init(int r, int c, int sr, int sc, int M, char *s) { a[sr][sc] = true; n = r, m = c; for(int i = 0; i < M; i++) { if(s[i] == 'N') sr--; if(s[i] == 'S') sr++; if(s[i] == 'W') sc--; if(s[i] == 'E') sc++; a[sr][sc] = true; } } int colour(int ar, int ac, int br, int bc) { memset(vis, 0, sizeof vis); int ans = 0; n1 = br, m1 = bc, n2 = ar, m2 = ac; for(int i = ar; i <= br; i++) { for(int j = ac; j <= bc; j++) { if(vis[i][j] or a[i][j]) continue; ans++; dfs(i, j); } } 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...