제출 #1203801

#제출 시각아이디문제언어결과실행 시간메모리
1203801jj_master무지개나라 (APIO17_rainbow)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

const int N = 1005;
bool riv[N][N], vis[N][N];
int R, C;

int dr[] = {-1, 1, 0, 0};
int dc[] = {0, 0, 1, -1};

bool in(int r, int c, int r1, int c1, int r2, int c2) {
    return r >= r1 && r <= r2 && c >= c1 && c <= c2;
}

void dfs(int r, int c, int r1, int c1, int r2, int c2) {
    vis[r][c] = true;
    for (int d = 0; d < 4; d++) {
        int nr = r + dr[d], nc = c + dc[d];
        if (in(nr, nc, r1, c1, r2, c2) && !riv[nr][nc] && !vis[nr][nc])
            dfs(nr, nc, r1, c1, r2, c2);
    }
}

void init(int r, int c, int sr, int sc, int m, char* s) {
    R = r;
    C = c;
    int x = sr, y = sc;
    riv[x][y] = 1;
    for (int i = 0; i < m; ++i) {
        char ch = s[i];
        if (ch == 'N') --x;
        else if (ch == 'S') ++x;
        else if (ch == 'E') ++y;
        else if (ch == 'W') --y;
        riv[x][y] = 1;
    }
}

int colour(int r1, int c1, int r2, int c2) {
    for (int i = r1; i <= r2; i++)
        for (int j = c1; j <= c2; j++)
            vis[i][j] = 0;

    int cnt = 0;
    for (int i = r1; i <= r2; i++)
        for (int j = c1; j <= c2; j++)
            if (!riv[i][j] && !vis[i][j])
                dfs(i, j, r1, c1, r2, c2), cnt++;

    return cnt;
}

컴파일 시 표준 에러 (stderr) 메시지

/usr/bin/ld: /tmp/ccnLFl3M.o: in function `main':
grader.cpp:(.text.startup+0xf0): undefined reference to `init(int, int, int, int, int, char*)'
/usr/bin/ld: grader.cpp:(.text.startup+0x167): undefined reference to `colour(int, int, int, int)'
collect2: error: ld returned 1 exit status