답안 #367598

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
367598 2021-02-17T18:02:05 Z Iwanttobreakfree 악어의 지하 도시 (IOI11_crocodile) C++17
컴파일 오류
0 ms 0 KB
#include "crocodile.h"
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
vector<int> distancia;
void Distra(vector<vector<pair<int,int> > >& conexiones){
	priority_queue <pair<int,int> > q;
	q.push(0,0);
	distancia[0]=0;
	int nodo,coste;
	while(!q.empty()){
		nodo=q.top().second;
		q.pop();
		for(pair<int,int> con:conexiones[nodo]){
			int arista=-con.first;
			int siguiente=con.second;
			if(distancia[siguiente]>distancia[nodo]+arista){
				distancia[siguiente]=distancia[nodo]+arista;
				q.push(-arista,siguiente);
			}
		}
	}
}
int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]){
	distancia.assign(N,1e9);
	int maximo=0;
	vector<vector<pair<int,int> > > conexiones(N,vector<pair<int,int> >());
	for(int i=0;i<M;i++){
		conexiones[R[i][0]].push_back(make_pair(L[i],R[i][1]));
		conexiones[R[i][1]].push_back(make_pair(L[i],R[i][0]));
	}
	Distra(conexiones);
	for(int i=0;i<K;i++){
		maximo=max(maximo,distancia[P[i]]);
	}
  return maximo;
}

Compilation message

crocodile.cpp: In function 'void Distra(std::vector<std::vector<std::pair<int, int> > >&)':
crocodile.cpp:9:12: error: no matching function for call to 'std::priority_queue<std::pair<int, int> >::push(int, int)'
    9 |  q.push(0,0);
      |            ^
In file included from /usr/include/c++/9/queue:64,
                 from crocodile.cpp:4:
/usr/include/c++/9/bits/stl_queue.h:627:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::vector<std::pair<int, int> >; _Compare = std::less<std::pair<int, int> >; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = std::pair<int, int>]'
  627 |       push(const value_type& __x)
      |       ^~~~
/usr/include/c++/9/bits/stl_queue.h:627:7: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/9/bits/stl_queue.h:635:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(std::priority_queue<_Tp, _Sequence, _Compare>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::vector<std::pair<int, int> >; _Compare = std::less<std::pair<int, int> >; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = std::pair<int, int>]'
  635 |       push(value_type&& __x)
      |       ^~~~
/usr/include/c++/9/bits/stl_queue.h:635:7: note:   candidate expects 1 argument, 2 provided
crocodile.cpp:20:29: error: no matching function for call to 'std::priority_queue<std::pair<int, int> >::push(int, int&)'
   20 |     q.push(-arista,siguiente);
      |                             ^
In file included from /usr/include/c++/9/queue:64,
                 from crocodile.cpp:4:
/usr/include/c++/9/bits/stl_queue.h:627:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(const value_type&) [with _Tp = std::pair<int, int>; _Sequence = std::vector<std::pair<int, int> >; _Compare = std::less<std::pair<int, int> >; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = std::pair<int, int>]'
  627 |       push(const value_type& __x)
      |       ^~~~
/usr/include/c++/9/bits/stl_queue.h:627:7: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/9/bits/stl_queue.h:635:7: note: candidate: 'void std::priority_queue<_Tp, _Sequence, _Compare>::push(std::priority_queue<_Tp, _Sequence, _Compare>::value_type&&) [with _Tp = std::pair<int, int>; _Sequence = std::vector<std::pair<int, int> >; _Compare = std::less<std::pair<int, int> >; std::priority_queue<_Tp, _Sequence, _Compare>::value_type = std::pair<int, int>]'
  635 |       push(value_type&& __x)
      |       ^~~~
/usr/include/c++/9/bits/stl_queue.h:635:7: note:   candidate expects 1 argument, 2 provided
crocodile.cpp:11:11: warning: unused variable 'coste' [-Wunused-variable]
   11 |  int nodo,coste;
      |           ^~~~~