답안 #388917

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
388917 2021-04-13T09:53:29 Z Killer2501 악어의 지하 도시 (IOI11_crocodile) C++14
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
#define ll long long
#include "crocodile.h"
#define pb push_back
#define task "asd"
#define pll pair<ll, ll>
#define pii pair<pll, ll>
#define fi first
#define se second

using namespace std;
const ll mod = 1e17+7;
const ll N = 1e6+5;
const int base = 313;
const long double Exp = 1e-8;
ll n, m, t, k, T, ans, tong, c[N];
ll a[N], b[N], d[N];
vector<pll> adj[N];
vector<pll> kq;
string s;

void sol()
{
    cin >> n >> m >> k;
    for(int i = 1; i <= m; i ++)
    {
        ll x, y, z;
        cin >> x >> y >> z;
        adj[x].pb({z, y});
        adj[y].pb({z, x});
    }
    priority_queue< pll, vector<pll>, greater<pll> > pq;
    for(int i = 0; i < n; i ++)d[i]= mod;
    for(int i = 1; i <= k; i ++)
    {
        ll x;
        cin >> x;
        d[x] = 0;
        a[x] = 1;
        pq.push({0, x});
    }
    while(!pq.empty())
    {
        pll u = pq.top();
        pq.pop();
        if(a[u.se] == 0)
        {
            a[u.se] = 1;
            continue;
        }
        if(u.se == 0)
        {
            cout << u.fi;
            return;
        }
        for(pll v : adj[u.se])
        {
            pq.push({v.fi+u.fi, v.se});
        }
    }
}
ll travel_plan(int n, int m, int r[][2], int l[], int k, int p[])
{
    for(int i = 0; i < m; i ++)
    {
        ll x, y, z;
        x = r[i][1];
        y = r[i][0];
        z = l[i];
        adj[x].pb({z, y});
        adj[y].pb({z, x});
    }
    priority_queue< pll, vector<pll>, greater<pll> > pq;
    for(int i = 0; i < n; i ++)d[i]= mod;
    for(int i = 0; i < k; i ++)
    {
        ll x = p[i];
        d[x] = 0;
        a[x] = 1;
        pq.push({0, x});
    }
    while(!pq.empty())
    {
        pll u = pq.top();
        pq.pop();
        if(a[u.se] == 0)
        {
            a[u.se] = 1;
            continue;
        }
        if(u.se == 0)
        {
            return u.fi;
        }
        for(pll v : adj[u.se])
        {
            pq.push({v.fi+u.fi, v.se});
        }
    }
}

Compilation message

crocodile.cpp:62:4: error: ambiguating new declaration of 'long long int travel_plan(int, int, int (*)[2], int*, int, int*)'
   62 | ll travel_plan(int n, int m, int r[][2], int l[], int k, int p[])
      |    ^~~~~~~~~~~
In file included from crocodile.cpp:3:
crocodile.h:1:5: note: old declaration 'int travel_plan(int, int, int (*)[2], int*, int, int*)'
    1 | int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]);
      |     ^~~~~~~~~~~
crocodile.cpp: In function 'long long int travel_plan(int, int, int (*)[2], int*, int, int*)':
crocodile.cpp:73:54: warning: control reaches end of non-void function [-Wreturn-type]
   73 |     priority_queue< pll, vector<pll>, greater<pll> > pq;
      |                                                      ^~