제출 #1366324

#제출 시각아이디문제언어결과실행 시간메모리
1366324alexddNavigation 2 (JOI21_navigation2)C++20
컴파일 에러
0 ms0 KiB
#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;

namespace
{
    const int MAXN = 105;
    int who[MAXN][MAXN];
}

void Anna(int N, int K, std::vector<int> R, std::vector<int> C)
{
    for(int i=0;i<N;i++)
    {
        for(int j=0;j<N;j++)
        {
            who[i][j] = (i%3) * 3 + (j%3);
            who[i][j] -= 2;
        }
    }

    for(int i=0;i<N;i++)
    {
        for(int j=0;j<N;j++)
        {
            int val = who[i][j];
            if(val < 0)
                SetFlag(i, j, 1);
            else if(R[val] < i - 1)
                SetFlag(i, j, 2 + 3);
            else if(R[val] > i + 1)
                SetFlag(i, j, 2 + 2);
            else if(C[val] < j - 1)
                SetFlag(i, j, 2 + 1);
            else if(C[val] > j + 1)
                SetFlag(i, j, 2 + 0);
            else
            {
                assert(i - 1 <= R[val] && R[val] <= i + 1 && j - 1 <= C[val] && C[val] <= j + 1);
                int mini_poz = (R[val] - (i - 1)) * 3 + (C[val] - (j - 1));
                SetFlag(i, j, 6 + mini_poz);
            }
        }
    }
}
#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;

namespace
{
    const int MAXN = 105;
    int who[MAXN][MAXN];
}

void Anna(int N, int K, std::vector<int> R, std::vector<int> C)
{
    for(int i=0;i<N;i++)
    {
        for(int j=0;j<N;j++)
        {
            who[i][j] = (i%3) * 3 + (j%3);
            who[i][j] -= 2;
        }
    }

    for(int i=0;i<N;i++)
    {
        for(int j=0;j<N;j++)
        {
            int val = who[i][j];
            if(val < 0)
                SetFlag(i, j, 1);
            else if(R[val] < i - 1)
                SetFlag(i, j, 2 + 3);
            else if(R[val] > i + 1)
                SetFlag(i, j, 2 + 2);
            else if(C[val] < j - 1)
                SetFlag(i, j, 2 + 1);
            else if(C[val] > j + 1)
                SetFlag(i, j, 2 + 0);
            else
            {
                assert(i - 1 <= R[val] && R[val] <= i + 1 && j - 1 <= C[val] && C[val] <= j + 1);
                int mini_poz = (R[val] - (i - 1)) * 3 + (C[val] - (j - 1));
                SetFlag(i, j, 6 + mini_poz);
            }
        }
    }
}

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

# 2번째 컴파일 단계

/usr/bin/ld: /tmp/ccKBtFF7.o: in function `main':
grader_bruno.cpp:(.text.startup+0x154): undefined reference to `Bruno(int, std::vector<int, std::allocator<int> >)'
/usr/bin/ld: /tmp/ccZeYUOC.o: in function `Anna(int, int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)':
Bruno.cpp:(.text+0x11c): undefined reference to `SetFlag(int, int, int)'
/usr/bin/ld: Bruno.cpp:(.text+0x140): undefined reference to `SetFlag(int, int, int)'
/usr/bin/ld: Bruno.cpp:(.text+0x158): undefined reference to `SetFlag(int, int, int)'
/usr/bin/ld: Bruno.cpp:(.text+0x168): undefined reference to `SetFlag(int, int, int)'
/usr/bin/ld: Bruno.cpp:(.text+0x180): undefined reference to `SetFlag(int, int, int)'
/usr/bin/ld: /tmp/ccZeYUOC.o:Bruno.cpp:(.text+0x198): more undefined references to `SetFlag(int, int, int)' follow
collect2: error: ld returned 1 exit status