제출 #409761

#제출 시각아이디문제언어결과실행 시간메모리
409761wittydolphinTwo Transportations (JOI19_transportations)C++14
컴파일 에러
0 ms0 KiB
#include <iostream>
#include <vector>
#include <bitset>
#include "Azer.h"

using namespace std;
int COST=0;
const int INF=1000000000;
int received=0;
int count=0;
int dist;
vector <int> Ans;
vector <int> Answer(){
	return Ans;
}
void SendA(bool x)
void RecieveA(bool x){
	if(x){
		received*=2;
		received+=1;
	}else{
		received*=2;
	}
	count++;
	if(count==9){
		dist=received;
		received=0;
	}
}
void InitA(int N, int A, vector <int> U,vector <int> V,vector <int> C){
	vector <int> visited(N,0);
	vector <int> distance(N,INF);
	distance[0]=0;
	int grid[N][N];
	for(int i=0;i<N;i++){
		for(int j=0;j<N;j++){
			grid[i][j]=INF;
		}
	}
	for(int i=0;i<A;i++){
		grid[U[i]][V[i]]=C[i];
		grid[V[i]][U[i]]=C[i];
	}
	for(int i=0;i<N;i++){
		int min_index;
		int min=INF;
		for(int j=0;j<N;j++){
			if(visited[j]==0&&min>distance[j]){
				min=distance[j];
				min_index=j;
			}
		}
		if(min-COST>dist){//Bus is better
			COST+=dist;
			for(int k=0;k<9;k++){
				SendA(1);
			}//this is 511
			while(count<20){;}
			count=0;
			//received is now place
			distance[received]=COST;
			visited[received]=1;
			for(int j=0;j<N;j++){
				if(visited[j]==0&&distance[j]>COST+grid[received][j]){
					distance[j]=COST+grid[received][j];//renew distances
				}
			}
		}else{
			int dif=min-COST;//our one is better
			COST+=dif;
			bitset <9> sender(dif);
			for(int k=0;k<9;k++){
				SendA(sender[k]);
			}
			bitset <11> place(min_index);
			for(int k=0;k<11;k++){
				SendA(place[k]);
			}
			distance[min_index]=COST;
			visited[min_index]=1;
			for(int j=0;j<N;j++){
				if(visited[j]==0&&distance[j]>COST+grid[min_index][j]){
					distance[j]=COST+grid[min_index][j];//renew distances
				}
			}
		}
	}
	for(int i=0;i<N;i++){
		Ans.push_back(distance[i]);
	}
}
#include <iostream>
#include <vector>
#include <bitset>
#include "Baijan.h"


using namespace std;
int COST=0;
const int INF=1000000000;
int dist;
int received=0;
int counter=0;
void RecieveB(bool x){
  if(x){
    received*=2;
    received+=1;
  }else{
    received*=2;
  }
  counter++;
  if(counter==9){
    dist=received;
    received=0;
  }
}
void SendB(bool x);
void InitB(int N, int A, vector <int> S,vector <int> T,vector <int> D){
  vector <int> visited(N,0);
  vector <int> distance(N,INF);
  visited[0]=1;
  distance[0]=0;
  int grid[N][N];
  for(int i=0;i<N;i++){
    for(int j=0;j<N;j++){
      grid[i][j]=INF;
    }
  }
  for(int i=0;i<A;i++){
    grid[S[i]][T[i]]=D[i];
    grid[T[i]][S[i]]=D[i];
  }
  for(int i=0;i<N;i++){
    int min_index;
    int min=INF;
    for(int j=0;j<N;j++){
      if(visited[j]==0&&min>distance[j]){
        min=distance[j];
        min_index=j;
      }
    }
    int dif=min-COST;
    bitset <9> sender(dif);
    for(int k=0;k<9;k++){
      SendB(sender[k]);
    }
    while(counter<9){;}
    if(dist==511){///this should happen in received
      counter=0;
      bitset <11> place(min_index);
      for(int k=0;k<11;k++){
        SendB(place[k]);
      }
      COST+=dif;
      visited[min_index]=1;
      for(int j=0;j<N;j++){
        if(visited[j]==0&&distance[j]>COST+grid[min_index][j]){
          distance[j]=COST+grid[min_index][j];//renew distances
        }
      }
    }else{
      COST+=dist;
      //received is 
      while(counter<20){;}
      counter=0;
      distance[received]=COST;
      visited[received]=1;
      for(int j=0;j<N;j++){
        if(visited[j]==0&&distance[j]>COST+grid[received][j]){
          distance[j]=COST+grid[received][j];//renew distances
        }
      }
      received=0;
    }
  }
}

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

Azer.cpp:17:1: error: expected initializer before 'void'
   17 | void RecieveA(bool x){
      | ^~~~

Baijan.cpp: In function 'void InitB(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
Baijan.cpp:43:9: warning: 'min_index' may be used uninitialized in this function [-Wmaybe-uninitialized]
   43 |     int min_index;
      |         ^~~~~~~~~
/usr/bin/ld: /tmp/ccCo5LgR.o: in function `main':
grader_baijan.cpp:(.text.startup+0x202): undefined reference to `ReceiveB(bool)'
collect2: error: ld returned 1 exit status