제출 #896668

#제출 시각아이디문제언어결과실행 시간메모리
896668alexander707070Flights (JOI22_flights)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
#include "Ali.h"
#include "Benjamin.h"

#define MAXN 10007
using namespace std;

int n,x,y,from,to,s;

vector<int> v[MAXN],w;
int dist[MAXN];

void dfs(int x,int p,int d){
    dist[x]=d;
    for(int i=0;i<v[x].size();i++){
        if(v[x][i]==p)continue;
        dfs(v[x][i],x,d+1);
    }
}

void Init(int N, vector<int> U, vector<int> V){
    n=N;

    for(int i=0;i<n;i++)v[i].clear();

    for(int i=0;i<n-1;i++){
        v[U[i]].push_back(V[i]);
        v[V[i]].push_back(U[i]);
    }

    for(int i=0;i<=n-1;i++){
        SetID(i,i);
    }
}

string SendA(string S){
    x=y=0;
    string res="";

    for(int i=13;i>=0;i--){
        x*=2;
        if(S[13-i]=='1')x++;
    }

    for(int i=13;i>=8;i--){
        y*=2;
        if(S[13-i+14]=='1')y++;
    }
    for(int i=7;i>=0;i--)y*=2;

    for(int i=0;i<=n-1;i++){
        if(x==i)continue;
        if((i^y)>=(1<<8))continue;

        w.push_back(i);
    }

    dfs(x,0,0);

    for(int curr:w){
        for(int i=13;i>=0;i--){
            if(((1<<i)&curr)>0)res+="1";
            else res+="0";
        }

        for(int i=13;i>=0;i--){
            if(((1<<i)&dist[curr])>0)res+="1";
            else res+="0";
        }
    }

    return res;
}


string SendB(int N, int X, int Y){
    n=N; from=X; to=Y;

    string res="";
    for(int i=13;i>=0;i--){
        if((from&(1<<i))==0)res.push_back('0');
        else res.push_back('1');
    }

    for(int i=13;i>=8;i++){
        if((to&(1<<i))==0)res.push_back('0');
        else res.push_back('1');
    }

    return res;
}

int Answer(string T){

    for(int i=0;i<T.size();i+=28){

        s=0;
        for(int f=i;f<i+14;f++){
            s*=2;
            if(T[f]=='1')s++;
        }

        if(s==to){
            s=0;
            for(int f=i+14;f<i+28;f++){
                s*=2;
                if(T[f]=='1')s++;
            }
            return s;
        }
    }
}

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

Ali.cpp: In function 'void dfs(int, int, int)':
Ali.cpp:15:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |     for(int i=0;i<v[x].size();i++){
      |                 ~^~~~~~~~~~~~
Ali.cpp: In function 'int Answer(std::string)':
Ali.cpp:95:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   95 |     for(int i=0;i<T.size();i+=28){
      |                 ~^~~~~~~~~
Ali.cpp:112:1: warning: control reaches end of non-void function [-Wreturn-type]
  112 | }
      | ^
grader_ali.cpp:10:8: warning: '{anonymous}::_randmem' defined but not used [-Wunused-variable]
   10 |   char _randmem[12379];
      |        ^~~~~~~~

/usr/bin/ld: /tmp/ccewxtU8.o: in function `main':
grader_benjamin.cpp:(.text.startup+0x19a): undefined reference to `Answer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/usr/bin/ld: grader_benjamin.cpp:(.text.startup+0x24f): undefined reference to `SendB[abi:cxx11](int, int, int)'
collect2: error: ld returned 1 exit status