제출 #970349

#제출 시각아이디문제언어결과실행 시간메모리
970349anton사이버랜드 (APIO23_cyberland)C++17
컴파일 에러
0 ms0 KiB
#include "cyberland.h"
#include<bits/stdc++.h>

using namespace std;
#define ll long long
#define int long long
#define pii pair<int, int>

void dp(int u, int a, int d, vector<vector<pii>>& adj,vector<int>& arr, vector<int>& dis){
    if(arr[u] == 0){
        d =0;
    }
    dis[u] = d;
    for(auto e: adj[u]){
        if(e.first != a){
            dp(e.first, u, d + e.second, adj, arr, dis);
        }
    }
}

double solve(signed N, signed M, signed K, signed H, std::vector<signed> x, std::vector<signed> y, std::vector<signed> c, std::vector<signed> arr) {
    vector<vector<pii>> adj(N);
    for(int i = 0; i<M; i++){
        adj[x[i]].push_back({y[i], c[i]});
        adj[y[i]].push_back({x[i], c[i]});
    }
    vector<int> res(N);
    dp(0, -1, 0, adj, arr, res);

    return (double)(res[H]);
    
    return -1;
}

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

cyberland.cpp: In function 'double solve(int, int, int, int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
cyberland.cpp:28:23: error: invalid initialization of reference of type 'std::vector<long long int>&' from expression of type 'std::vector<int>'
   28 |     dp(0, -1, 0, adj, arr, res);
      |                       ^~~
cyberland.cpp:9:68: note: in passing argument 5 of 'void dp(long long int, long long int, long long int, std::vector<std::vector<std::pair<long long int, long long int> > >&, std::vector<long long int>&, std::vector<long long int>&)'
    9 | void dp(int u, int a, int d, vector<vector<pii>>& adj,vector<int>& arr, vector<int>& dis){
      |                                                       ~~~~~~~~~~~~~^~~