Submission #475935

#TimeUsernameProblemLanguageResultExecution timeMemory
475935qwerasdfzxclNavigation 2 (JOI21_navigation2)C++17
Compilation error
0 ms0 KiB
#include "Anna.h"
#include <bits/stdc++.h>

typedef long long ll;
using namespace std;

namespace {



} // namespace

void Anna(int N, int K, std::vector<int> R, std::vector<int> C) {
    bool chk[9];
    fill(chk, chk+9, 0);
    for (int i=0;i<K;i++){
        int num = (R[i]*3+C[i]+1)%9;
        chk[((i+10)-num)%9] = 1;
    }

    int typ = -1;
    for (int i=0;i<9;i++) if (!chk[i]) {typ = i; break;}
    assert(typ!=-1);

    fill(chk, chk+9, 0);

    for (int i=0;i<N;i++){
        for (int j=0;j<N;j++){
            int num = (i*3+j+typ+1)%9;
            if (!num) SetFlag(i, j, 12);
            else if (num==8) continue; //SetFlag(i, j, 1);
            else{
                num--;
                if (R[num]<i-1) SetFlag(i, j, 4);
                else if (R[num]>i+1) SetFlag(i, j, 3);
                else if (C[num]<j-1) SetFlag(i, j, 2);
                else if (C[num]>j+1) SetFlag(i, j, 1);
                else{
                    for (int x=-1, val=5;x<=1;x++){
                        for (int y=-1;y<=1;y++) if (x || y){
                            if (i+x==R[num] && j+y==C[num]){
                                chk[val-5] = 1;
                            }
                            val++;
                        }
                    }
                }
            }
        }
    }

    int typ2 = -1;
    for (int i=0;i<8;i++) if (!chk[i]) {typ2 = i; break;}
    assert(typ2!=-1);

    for (int i=0;i<N;i++){
        for (int j=0;j<N;j++){
            int num = (i*3+j+typ+1)%9;
            if (!num) continue;
            else if (num==8) SetFlag(i, j, typ2+1);
            else{
                num--;
                if (R[num]<i-1) continue;
                else if (R[num]>i+1) continue;
                else if (C[num]<j-1) continue;
                else if (C[num]>j+1) continue;
                else{
                    for (int x=-1, val=5;x<=1;x++){
                        for (int y=-1;y<=1;y++) if (x || y){
                            if (i+x==R[num] && j+y==C[num]){
                                if (val>typ2+5) val--;
                                SetFlag(i, j, val);
                            }
                            val++;
                        }
                    }
                }
            }
        }
    }
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccaOjTHt.o: in function `main':
grader_bruno.cpp:(.text.startup+0x1d3): undefined reference to `Bruno(int, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status