답안 #222015

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
222015 2020-04-11T20:35:08 Z shart23 Dango Maker (JOI18_dango_maker) C++14
13 / 100
5 ms 896 KB
#include <bits/stdc++.h>

#define endl "\n"

using namespace std;

const int MAXN = 100;
vector<int> vin[MAXN][MAXN];
vector<int> g[MAXN * MAXN];
int used[MAXN * MAXN];
int res = 0;

void dfs2(int v) {
    if (used[v] == 2 || used[v] == 3) {
        return;
    }
    bool flag = true;
    for (auto u : g[v]) {
        if (used[u] == 2) {
            flag = false;
        }
    }
    if (flag) {
        res++;
        used[v] = 2;
    } else {
        used[v] = 3;
    }
    for (auto u : g[v]) {
        dfs2(u);
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int n, m;
    cin >> n >> m;
    vector<string> arr(n);
    for (auto &x : arr) {
        cin >> x;
    }
    int cnt = 0;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            if (i <= n - 3) {
                if (arr[i][j] == 'R' && arr[i + 1][j] == 'G' && arr[i + 2][j] == 'W') {
                    vin[i][j].push_back(cnt);
                    vin[i + 1][j].push_back(cnt);
                    vin[i + 2][j].push_back(cnt);
                    cnt++;
                }
            }
            if (j <= m - 3) {
                if (arr[i][j] == 'R' && arr[i][j + 1] == 'G' && arr[i][j + 2] == 'W') {
                    vin[i][j].push_back(cnt);
                    vin[i][j + 1].push_back(cnt);
                    vin[i][j + 2].push_back(cnt);
                    cnt++;
                }
            }
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            for (auto v : vin[i][j]) {
                for (auto u : vin[i][j]) {
                    if (v != u) {
                        g[v].push_back(u);
                    }
                }
            }
        }
    }
    for (int i = 0; i < cnt; i++) {
        if (g[i].size() == 1) {
            dfs2(i);
        }
    }
    for (int i = 0; i < cnt; i++) {
        dfs2(i);
    }
    cout << res << endl;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 768 KB Output is correct
2 Correct 5 ms 768 KB Output is correct
3 Correct 5 ms 768 KB Output is correct
4 Correct 5 ms 768 KB Output is correct
5 Correct 5 ms 768 KB Output is correct
6 Correct 5 ms 768 KB Output is correct
7 Correct 5 ms 768 KB Output is correct
8 Correct 5 ms 768 KB Output is correct
9 Correct 5 ms 768 KB Output is correct
10 Correct 5 ms 768 KB Output is correct
11 Correct 5 ms 768 KB Output is correct
12 Correct 5 ms 896 KB Output is correct
13 Correct 5 ms 768 KB Output is correct
14 Correct 5 ms 768 KB Output is correct
15 Correct 5 ms 768 KB Output is correct
16 Correct 5 ms 768 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 768 KB Output is correct
2 Correct 5 ms 768 KB Output is correct
3 Correct 5 ms 768 KB Output is correct
4 Correct 5 ms 768 KB Output is correct
5 Correct 5 ms 768 KB Output is correct
6 Correct 5 ms 768 KB Output is correct
7 Correct 5 ms 768 KB Output is correct
8 Correct 5 ms 768 KB Output is correct
9 Correct 5 ms 768 KB Output is correct
10 Correct 5 ms 768 KB Output is correct
11 Correct 5 ms 768 KB Output is correct
12 Correct 5 ms 896 KB Output is correct
13 Correct 5 ms 768 KB Output is correct
14 Correct 5 ms 768 KB Output is correct
15 Correct 5 ms 768 KB Output is correct
16 Correct 5 ms 768 KB Output is correct
17 Correct 5 ms 896 KB Output is correct
18 Correct 5 ms 768 KB Output is correct
19 Correct 5 ms 768 KB Output is correct
20 Correct 5 ms 768 KB Output is correct
21 Correct 5 ms 768 KB Output is correct
22 Correct 5 ms 896 KB Output is correct
23 Correct 5 ms 768 KB Output is correct
24 Correct 5 ms 768 KB Output is correct
25 Correct 5 ms 768 KB Output is correct
26 Correct 5 ms 768 KB Output is correct
27 Correct 5 ms 896 KB Output is correct
28 Correct 5 ms 768 KB Output is correct
29 Correct 5 ms 768 KB Output is correct
30 Correct 5 ms 768 KB Output is correct
31 Correct 5 ms 768 KB Output is correct
32 Correct 5 ms 768 KB Output is correct
33 Correct 5 ms 896 KB Output is correct
34 Incorrect 5 ms 768 KB Output isn't correct
35 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 768 KB Output is correct
2 Correct 5 ms 768 KB Output is correct
3 Correct 5 ms 768 KB Output is correct
4 Correct 5 ms 768 KB Output is correct
5 Correct 5 ms 768 KB Output is correct
6 Correct 5 ms 768 KB Output is correct
7 Correct 5 ms 768 KB Output is correct
8 Correct 5 ms 768 KB Output is correct
9 Correct 5 ms 768 KB Output is correct
10 Correct 5 ms 768 KB Output is correct
11 Correct 5 ms 768 KB Output is correct
12 Correct 5 ms 896 KB Output is correct
13 Correct 5 ms 768 KB Output is correct
14 Correct 5 ms 768 KB Output is correct
15 Correct 5 ms 768 KB Output is correct
16 Correct 5 ms 768 KB Output is correct
17 Correct 5 ms 896 KB Output is correct
18 Correct 5 ms 768 KB Output is correct
19 Correct 5 ms 768 KB Output is correct
20 Correct 5 ms 768 KB Output is correct
21 Correct 5 ms 768 KB Output is correct
22 Correct 5 ms 896 KB Output is correct
23 Correct 5 ms 768 KB Output is correct
24 Correct 5 ms 768 KB Output is correct
25 Correct 5 ms 768 KB Output is correct
26 Correct 5 ms 768 KB Output is correct
27 Correct 5 ms 896 KB Output is correct
28 Correct 5 ms 768 KB Output is correct
29 Correct 5 ms 768 KB Output is correct
30 Correct 5 ms 768 KB Output is correct
31 Correct 5 ms 768 KB Output is correct
32 Correct 5 ms 768 KB Output is correct
33 Correct 5 ms 896 KB Output is correct
34 Incorrect 5 ms 768 KB Output isn't correct
35 Halted 0 ms 0 KB -