Submission #985789

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

using namespace std;

namespace{
const int BITS = 20;
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 send(int a){
    int c=a;
    string bin = decToBinary(a);
    for (int i=0; i<BITS+1; i++){
        SendA(bin[i]);
    }
}
}

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});
            graf[info[1]].push_back({info[0],liczba});
        }
        akt_2 = 0;
        akt = (akt+1)%3;
        akt_str = "";
    }
    else akt_2 += 1;
}



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]});
        graf[V[i]].push_back({U[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 send(int a){
    int c=a;
    string bin = decToBinary(a);
    for (int i=0; i<BITS+1; i++){
        SendB(bin[i]-'0');
    }
}
}


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

Azer.cpp: In function 'void {anonymous}::send(int)':
Azer.cpp:61:9: warning: unused variable 'c' [-Wunused-variable]
   61 |     int c=a;
      |         ^
Azer.cpp: At global scope:
Azer.cpp:60:6: warning: 'void {anonymous}::send(int)' defined but not used [-Wunused-function]
   60 | void send(int a){
      |      ^~~~

Baijan.cpp: In function 'void {anonymous}::send(int)':
Baijan.cpp:23:9: warning: unused variable 'c' [-Wunused-variable]
   23 |     int c=a;
      |         ^
/usr/bin/ld: /tmp/cchJLkJs.o: in function `main':
grader_baijan.cpp:(.text.startup+0x202): undefined reference to `ReceiveB(bool)'
collect2: error: ld returned 1 exit status