Submission #1294778

#TimeUsernameProblemLanguageResultExecution timeMemory
1294778Ice_manAncient Machine (JOI21_ancient_machine)C++20
Compilation error
0 ms0 KiB
#include "Anna.h"
#include <vector>

#define SZ 48
#define LOG 35
#define PB push_back

typedef long long ll;


void Anna(int N, std::vector<char> S)
{
    std::vector <int> myv(N);

    bool lamp = false;
    for(int i = 0; i < N; i++)
        if(S[i] == 'X')
        {
            lamp = true;
            myv[i] = 1;

            for(int j = i + 1; j < N; j++)
                if(S[j] == 'Z')
                    myv[j] = 1;


            for(int j = N - 1; j > 0; j--)
                if(myv[j] == 1 && myv[j - 1] == 1)
                    myv[j - 1] = 0;

            for(int j = N - 1; j > i + 1; j--)
                myv[j] = myv[j - 1];

            myv[i] = 1;
            myv[i + 1] = 0;

            break;
        }

    while(myv.size() % SZ != 0)
        myv.PB(0);

    std::vector <ll> comb(SZ + 10);
    comb[0] = 1;
    comb[1] = 2;

    for(int i = 2; i <= SZ; i++)
        comb[i] = comb[i - 1] + comb[i - 2];

    for(int i = 0; i < myv.size(); i += SZ)
    {
        ll code = 0;

        for(int j = 0; j < SZ; j++)
            if(myv[i + j] == true)
                code += comb[SZ - j - 1];

        for(int j = 0; j < LOG; j++)
            if(code & (1LL << j))
                Send(1);
            else
                Send(0);
    }
}
#include "Anna.h"
#include <vector>

#define SZ 48
#define LOG 35
#define PB push_back

typedef long long ll;


void Anna(int N, std::vector<char> S)
{
    std::vector <int> myv(N);

    bool lamp = false;
    for(int i = 0; i < N; i++)
        if(S[i] == 'X')
        {
            lamp = true;
            myv[i] = 1;

            for(int j = i + 1; j < N; j++)
                if(S[j] == 'Z')
                    myv[j] = 1;


            for(int j = N - 1; j > 0; j--)
                if(myv[j] == 1 && myv[j - 1] == 1)
                    myv[j - 1] = 0;

            for(int j = N - 1; j > i + 1; j--)
                myv[j] = myv[j - 1];

            myv[i] = 1;
            myv[i + 1] = 0;

            break;
        }

    while(myv.size() % SZ != 0)
        myv.PB(0);

    std::vector <ll> comb(SZ + 10);
    comb[0] = 1;
    comb[1] = 2;

    for(int i = 2; i <= SZ; i++)
        comb[i] = comb[i - 1] + comb[i - 2];

    for(int i = 0; i < myv.size(); i += SZ)
    {
        ll code = 0;

        for(int j = 0; j < SZ; j++)
            if(myv[i + j] == true)
                code += comb[SZ - j - 1];

        for(int j = 0; j < LOG; j++)
            if(code & (1LL << j))
                Send(1);
            else
                Send(0);
    }
}

Compilation message (stderr)

# 2번째 컴파일 단계

/usr/bin/ld: /tmp/ccs5rwKc.o: in function `Anna(int, std::vector<char, std::allocator<char> >)':
Bruno.cpp:(.text+0x34e): undefined reference to `Send(int)'
/usr/bin/ld: Bruno.cpp:(.text+0x363): undefined reference to `Send(int)'
/usr/bin/ld: /tmp/ccASlatT.o: in function `main':
grader_bruno.cpp:(.text.startup+0x246): undefined reference to `Bruno(int, int, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status