Submission #985764

# Submission time Handle Problem Language Result Execution time Memory
985764 2024-05-18T17:14:30 Z SzymonKrzywda Two Transportations (JOI19_transportations) C++17
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
#include "Azer.h"

using namespace std;


const int BITS = 20;
int liczba_w;
int akt = 0;
int akt_2 = 0;
string akt_str = "";
vector<int> answer={};
int info[3];
vector<vector<pair<int,int>>> graf(500000);


void dijkstra(){
    int val,v;
    priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>>pq;
    pq.push({0,0});
    while (!pq.empty()){
        val = pq.top().first;
        v = pq.top().second;
        pq.pop();
        if (val >= answer[v]) continue;
        answer[v] = val;
        for (auto [b,val_2] : graf[v]){
            pq.push({val+val_2,b});
        }
    }
}
string decToBinary(int n)
{
    string ans = "";
    for (int i = BITS; i >= 0; i--) {
        int k = n >> i;
        if (k & 1)
            ans += "1";
        else
            ans += "0";
    }
    return ans;
}

int binaryToDecimal(string str)
{
    int dec_num = 0;
    int power = 0 ;
    int n = str.length() ; 
   
      for(int i = n-1 ; i>=0 ; i--){
      if(str[i] == '1'){
        dec_num += (1<<power) ;
      }
      power++ ; 
    }
   
    return dec_num;
}


void ReceiveA(bool x){
    if (x == 0) akt_str += "0";
    else akt_str += "1";
    
    if (akt_2==BITS){
    int liczba = binaryToDecimal(akt_str);

        if (akt==0){ // wierzcholek 1
            info[0] = liczba;
        }
        else if (akt==1){// wierzcholek 2
            info[1] = liczba;
        }
        else{ // waga
            graf[info[0]].push_back({info[1],liczba});
        }
        akt_2 = 0;
        akt = (akt+1)%3;
    }
    else akt_2 += 1;
}

void SendA(bool y);

void send(int a){
    string bin = decToBinary(a);
    for (int i=0; i<BITS+1; i++){
        SendA(bin[i]);
    }
}

void InitA(int N, int A, vector<int> U, vector<int> V, vector<int> C){
    for (int i=0; i<N; i++){
        answer.push_back(9999999);
    }
    for (int i=0; i<A; i++){
        graf[U[i]].push_back({V[i],C[i]});
    }

}

vector<int> Answer(){
    dijkstra();
    return answer;
}
#include <bits/stdc++.h>
#include "Baijan.h"
using namespace std;

namespace{
const int BITS = 20;

string decToBinary(int n)
{
    string ans = "";
    for (int i = BITS; i >= 0; i--) {
        int k = n >> i;
        if (k & 1)
            ans += "1";
        else
            ans += "0";
    }
    return ans;
}

void ReceiveB(bool y){

}

void SendB(bool x);


void send(int a){
    string bin = decToBinary(a);
    for (int i=0; i<BITS+1; i++){
        SendB(bin[i]);
    }
}
}
void InitB(int N, int B, std::vector<int> S, std::vector<int> T, std::vector<int> D){
    for (int i=0; i<B; i++){
        send(S[i]);
        send(T[i]);
        send(D[i]);
    }

}

Compilation message

Baijan.cpp:25:6: warning: 'void {anonymous}::SendB(bool)' declared 'static' but never defined [-Wunused-function]
   25 | void SendB(bool x);
      |      ^~~~~
Baijan.cpp:25:6: warning: 'void {anonymous}::SendB(bool)' used but never defined
Baijan.cpp:21:6: warning: 'void {anonymous}::ReceiveB(bool)' defined but not used [-Wunused-function]
   21 | void ReceiveB(bool y){
      |      ^~~~~~~~
/usr/bin/ld: /tmp/cclrGOtF.o: in function `(anonymous namespace)::send(int)':
Baijan.cpp:(.text+0xaf): undefined reference to `(anonymous namespace)::SendB(bool)'
/usr/bin/ld: /tmp/ccfhiTQG.o: in function `main':
grader_baijan.cpp:(.text.startup+0x202): undefined reference to `ReceiveB(bool)'
collect2: error: ld returned 1 exit status