답안 #64104

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
64104 2018-08-03T11:06:24 Z patrikpavic2 Dango Maker (JOI18_dango_maker) C++17
13 / 100
95 ms 78432 KB
#include <cstdio>
#include <vector>

using namespace std;

const int N = 1e3 + 50;
const int M = 2 * N * N;

vector < int > v[M], k[N][N];

int ty[M], sl[M], bio[M];
char s[N][N];
int n, m;


void dfs(int x){
    sl[ty[x]]++;
    bio[x] = 1;
    for(int y : v[x])
        if(!bio[y])
            dfs(y);
}

int main(){
    scanf("%d%d", &n, &m);
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=m;j++){
            scanf(" %c", &s[i][j]);
        }
    }
    int cnt = 1;
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=m;j++){
            if(s[i][j] != 'G') continue;
            if(s[i - 1][j] == 'R' && s[i + 1][j] == 'W'){
                k[i - 1][j].push_back(cnt);
                k[i + 1][j].push_back(cnt);
                cnt++;
            }
            if(s[i][j - 1] == 'R' && s[i][j + 1] == 'W'){
                k[i][j - 1].push_back(cnt);
                k[i][j + 1].push_back(cnt);
                ty[cnt] = 1;
                cnt++;
            }
        }
    }
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=m;j++){
            if(k[i][j].size() == 2){
                v[k[i][j][0]].push_back(k[i][j][1]);
                v[k[i][j][1]].push_back(k[i][j][0]);
            }
        }
    }
    int sol = 0;
    //printf("CNT = %d\n", cnt);
    for(int i = 1;i<cnt;i++){
        if(bio[i]) continue;
        sl[0] = 0, sl[1] = 0;
        dfs(i);
        //printf("X : %d, %d %d\n", sl[0], sl[1]);
        sol += max(sl[0], sl[1]);
    }
    printf("%d\n", sol);
    return 0;
}

Compilation message

dango_maker.cpp: In function 'int main()':
dango_maker.cpp:25:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &n, &m);
     ~~~~~^~~~~~~~~~~~~~~~
dango_maker.cpp:28:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf(" %c", &s[i][j]);
             ~~~~~^~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 95 ms 78016 KB Output is correct
2 Correct 95 ms 78140 KB Output is correct
3 Correct 94 ms 78432 KB Output is correct
4 Correct 91 ms 78432 KB Output is correct
5 Correct 90 ms 78432 KB Output is correct
6 Correct 86 ms 78432 KB Output is correct
7 Correct 84 ms 78432 KB Output is correct
8 Correct 90 ms 78432 KB Output is correct
9 Correct 86 ms 78432 KB Output is correct
10 Correct 89 ms 78432 KB Output is correct
11 Correct 86 ms 78432 KB Output is correct
12 Correct 88 ms 78432 KB Output is correct
13 Correct 87 ms 78432 KB Output is correct
14 Correct 86 ms 78432 KB Output is correct
15 Correct 88 ms 78432 KB Output is correct
16 Correct 92 ms 78432 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 95 ms 78016 KB Output is correct
2 Correct 95 ms 78140 KB Output is correct
3 Correct 94 ms 78432 KB Output is correct
4 Correct 91 ms 78432 KB Output is correct
5 Correct 90 ms 78432 KB Output is correct
6 Correct 86 ms 78432 KB Output is correct
7 Correct 84 ms 78432 KB Output is correct
8 Correct 90 ms 78432 KB Output is correct
9 Correct 86 ms 78432 KB Output is correct
10 Correct 89 ms 78432 KB Output is correct
11 Correct 86 ms 78432 KB Output is correct
12 Correct 88 ms 78432 KB Output is correct
13 Correct 87 ms 78432 KB Output is correct
14 Correct 86 ms 78432 KB Output is correct
15 Correct 88 ms 78432 KB Output is correct
16 Correct 92 ms 78432 KB Output is correct
17 Incorrect 89 ms 78432 KB Output isn't correct
18 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 95 ms 78016 KB Output is correct
2 Correct 95 ms 78140 KB Output is correct
3 Correct 94 ms 78432 KB Output is correct
4 Correct 91 ms 78432 KB Output is correct
5 Correct 90 ms 78432 KB Output is correct
6 Correct 86 ms 78432 KB Output is correct
7 Correct 84 ms 78432 KB Output is correct
8 Correct 90 ms 78432 KB Output is correct
9 Correct 86 ms 78432 KB Output is correct
10 Correct 89 ms 78432 KB Output is correct
11 Correct 86 ms 78432 KB Output is correct
12 Correct 88 ms 78432 KB Output is correct
13 Correct 87 ms 78432 KB Output is correct
14 Correct 86 ms 78432 KB Output is correct
15 Correct 88 ms 78432 KB Output is correct
16 Correct 92 ms 78432 KB Output is correct
17 Incorrect 89 ms 78432 KB Output isn't correct
18 Halted 0 ms 0 KB -