제출 #1288406

#제출 시각아이디문제언어결과실행 시간메모리
1288406simona1230Two Transportations (JOI19_transportations)C++20
컴파일 에러
0 ms0 KiB
#include "Azer.h"
#include <bits/stdc++.h>
using namespace std;
struct edge
{
    int x,d;
    edge(){}
    edge(int _x,int _d)
    {
        x=_x;
        d=_d;
    }

    bool operator<(const edge&e)const
    {
        return e.d<d;
    }
};

int n;
vector<edge> v[2001];
int d[2001];

void dijkstra()
{
    for(int i=0;i<n;i++)
        d[i]=1e6;
    priority_queue<edge> q;

    while(q.size())
    {
        edge t=q.top();
        q.pop();
        if(d[t.x]>=t.d)
        {
            for(int i=0;i<v[t.x].size();i++)
            {
                edge nb=v[t.x][i];
                if(d[nb.x]>nb.d+t.d)
                {
                    d[nb.x]=nb.d+t.d;
                    q.push({nb.x,d[nb.x]});
                }
            }
        }
    }
}

int use[200001];

void sendshortest()
{
    dijkstra();
    int ver=-1;
    for(int i=1;i<n;i++)
    {
        if(ver==-1&&!use[i]||ver!=-1&&d[ver]>d[i]&&!use[i])
            ver=i;
    }

    if(ver==-1)
    {
        Answer();
    }
    else
    {
        use[ver]=1;
        for(int i=0;i<10;i++)
            if((1<<i)&ver)SendB((bool)(1));
            else SendB((bool)(0));
        for(int i=0;i<19;i++)
            if((1<<i)&d[ver])SendB((bool)1);
            else SendB((bool)0);
    }
}

void InitA(int N, int A, std::vector<int> U, std::vector<int> V,std::vector<int> C)
{
    n=N;
    for(int i=0;i<U.size();i++)
    {
        v[U[i]].push_back({V[i],C[i]});
        v[V[i]].push_back({U[i],C[i]});
    }
    sendshortest();
}

vector<bool> b;
void ReceiveA(bool x)
{
    b.push_back(x);
    if(b.size()==29)
    {
        int ver=0;
        int dist=0;
        for(int i=0;i<10;i++)
            if(b[i])ver+=(1<<i);

        for(int i=10;i<29;i++)
            if(b[i])dist+=(1<<i);
        v[0].push_back({ver,dist});
        sendshortest();
        b.clear();
    }
}

std::vector<int> Answer()
{
    vector<int> ans;
    for(int i=0;i<n;i++)
        ans.push_back(d[i]);
    return ans;
}
#include "Baijan.h"
#include <bits/stdc++.h>

using namespace std;

struct edge1
{
    int x,d;
    edge1() {}
    edge1(int _x,int _d)
    {
        x=_x;
        d=_d;
    }

    bool operator<(const edge1&e)const
    {
        return e.d<d;
    }
};

int n1;
vector<edge1> v1[2001];
int d1[2001];

void dijkstra1()
{
    for(int i=0; i<n1; i++)
        d1[i]=1e6;
    priority_queue<edge1> q;

    while(q.size())
    {
        edge1 t=q.top();
        q.pop();
        if(d1[t.x]>=t.d)
        {
            for(int i=0; i<v1[t.x].size(); i++)
            {
                edge1 nb=v1[t.x][i];
                if(d1[nb.x]>nb.d+t.d)
                {
                    d1[nb.x]=nb.d+t.d;
                    q.push({nb.x,d1[nb.x]});
                }
            }
        }
    }
}

int use1[200001];

void sendshortest1()
{
    dijkstra1();
    int ver=-1;
    for(int i=1; i<n1; i++)
    {
        if(ver==-1&&!use1[i]||ver!=-1&&d1[ver]>d1[i]&&!use1[i])
            ver=i;
    }

    for(int i=0; i<10; i++)
        if((1<<i)&ver)SendA((bool)1);
        else SendA((bool)0);
    for(int i=0; i<19; i++)
        if((1<<i)&d1[ver])SendA((bool)1);
        else SendA((bool)0);
}


void InitB(int N, int B, std::vector<int> S, std::vector<int> T,std::vector<int> D)
{
    n1=N;
    for(int i=0;i<S.size();i++)
    {
        v1[S[i]].push_back({T[i],D[i]});
        v1[T[i]].push_back({S[i],D[i]});
    }
}

vector<bool> b1;
void ReceiveB(bool x)
{
    b1.push_back(x);
    if(b1.size()==29)
    {
        int ver=0;
        int dist=0;
        for(int i=0;i<10;i++)
            if(b1[i])ver+=(1<<i);

        for(int i=10;i<29;i++)
            if(b1[i])dist+=(1<<i);
        v1[0].push_back({ver,dist});
        sendshortest1();
        use1[ver]=1;
        b1.clear();
    }
}

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

# 1번째 컴파일 단계

Azer.cpp: In function 'void sendshortest()':
Azer.cpp:69:27: error: 'SendB' was not declared in this scope; did you mean 'SendA'?
   69 |             if((1<<i)&ver)SendB((bool)(1));
      |                           ^~~~~
      |                           SendA
Azer.cpp:70:18: error: 'SendB' was not declared in this scope; did you mean 'SendA'?
   70 |             else SendB((bool)(0));
      |                  ^~~~~
      |                  SendA
Azer.cpp:72:30: error: 'SendB' was not declared in this scope; did you mean 'SendA'?
   72 |             if((1<<i)&d[ver])SendB((bool)1);
      |                              ^~~~~
      |                              SendA
Azer.cpp:73:18: error: 'SendB' was not declared in this scope; did you mean 'SendA'?
   73 |             else SendB((bool)0);
      |                  ^~~~~
      |                  SendA