제출 #1311211

#제출 시각아이디문제언어결과실행 시간메모리
1311211moha1111기지국 (IOI20_stations)C++20
컴파일 에러
0 ms0 KiB
#include "bits/stdc++.h" #include "stations.h" using namespace std; void dfs(int node , int time , vector<int>& lab , vector<vector<int>>& graph , bool dip , vector<int> &vis) { if(dip == 0) lab[node] = time; time++; vis[node] = 1; for(auto i : graph[node]) { if(vis[i] == 0) dfs(i , time , lab , graph , dip ^ 1 , vis); } if(dip == 1) lab[node] = time; time++; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<int> graph[n + 5]; for(int i = 1 ; i < n ; i++) { graph[u[i]].push_back(v[i]); graph[v[i]].push_back(u[i]); } vector<int> lab(n + 5) , vis(n + 5); dfs(0 , 0 , lab , graph , 0 , vis); return lab; } int find_next_station(int s, int t, vector<int> c) { if(c.size() == 1) return c[0]; if(s < c[0]) { /// start int p = -1; for(int i = 0 ; i < c.size() - 1 ; i++) { int st , en = c[i]; if(p == -1) st = s + 1; else st = p + 1; if(st <= t && t <= en) return c[i]; p = c[i]; } return c.back(); } /// end int p = -1; for(int i = c.size() - 1 ; i >= 1 ; i--) { int st = c[i] , en; if(p == -1) en = s - 1; else en = p - 1; if(st <= t && t <= en) return c[i]; p = c[i]; } return c[0]; }

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

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:34:23: error: invalid initialization of reference of type 'std::vector<std::vector<int> >&' from expression of type 'std::vector<int> [(n + 5)]'
   34 |     dfs(0 , 0 , lab , graph , 0 , vis);
      |                       ^~~~~
stations.cpp:5:72: note: in passing argument 4 of 'void dfs(int, int, std::vector<int>&, std::vector<std::vector<int> >&, bool, std::vector<int>&)'
    5 | void dfs(int node , int time , vector<int>& lab , vector<vector<int>>& graph , bool dip , vector<int> &vis)
      |                                                   ~~~~~~~~~~~~~~~~~~~~~^~~~~