제출 #1030779

#제출 시각아이디문제언어결과실행 시간메모리
1030779vjudge1City Mapping (NOI18_citymapping)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; // #define int long long #define f first #define s second mt19937 gnd(time(NULL)); const int N = 1e4+5; vector<int> adj[N]; int v[N], r[N], w[N]; vector<pair<long long int, int>> dis(N, {1e18+7, 0}); int pos = 0; // int get_distance(int a, int b){ // cout << "? " << a << " " << b << endl; // int d; // cin >> d; // return d; // } void un(int a, int b, int dis){ adj[a].push_back(b); // adj[b].push_back(a); v[pos]=a; r[pos]=b; w[pos]=dis; pos++; } void dfs(int u, int p, int pos, int pd){ int st = dis[pos].s, dd = dis[pos].f; if(adj[u].size() == 0){ un(u, st, pd); return; } if(adj[u].size() == 1){ int x = adj[u][0]; int d = get_distance(x, st); if(d < pd) dfs(x, u, pos, d); else{ un(u, st, pd); return; } } if(adj[u].size() == 2){ int x = adj[u][0]; int d = get_distance(x, st); if(d < pd) dfs(x, u, pos, d); else{ int r = get_distance(adj[u][1], st); dfs(adj[u][1], u, pos, r); } } } void find_roads(int n, int q, int A[], int B[], int W[]){ for(int i = n-1; i < N; i++) dis[i].f = 1e18+7; // vector<pair<long long int, int>> dis (n-1); for(int i = 0; i < n-1; i++){ long long int d = get_distance(1, i+2); dis[i]={d, i+2}; } sort(dis.begin(), dis.end()); un(1, dis[0].s, dis[0].f); for(int i = 1; i < n-1; i++){ dfs(1, -1, i, dis[i].f); } // for(int i = 0; i < n-1; i++){ // cout << v[i] << " " << r[i] << " " << w[i] << endl; // } for(int i = 0; i < n-1; i++){ A[i] = v[i]; B[i] = r[i]; W[i] = w[i]; } } // void fr(int n, int q){ // int a[n], b[n], w[n]; // find_roads(n, q, a, b, w); // // cout << "s" << endl; // } // signed main(){ // // ios::sync_with_stdio(0); // // cin.tie(0); // // cout.tie(0); // int t = 1; // cin >> t; // while(t--){ // int n, q; // cin >> n >> q; // fr(n, q); // } // }

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

citymapping.cpp: In function 'void dfs(int, int, int, int)':
citymapping.cpp:44:17: error: 'get_distance' was not declared in this scope
   44 |         int d = get_distance(x, st);
      |                 ^~~~~~~~~~~~
citymapping.cpp:54:17: error: 'get_distance' was not declared in this scope
   54 |         int d = get_distance(x, st);
      |                 ^~~~~~~~~~~~
citymapping.cpp:36:26: warning: unused variable 'dd' [-Wunused-variable]
   36 |     int st = dis[pos].s, dd = dis[pos].f;
      |                          ^~
citymapping.cpp: In function 'void find_roads(int, int, int*, int*, int*)':
citymapping.cpp:71:27: error: 'get_distance' was not declared in this scope
   71 |         long long int d = get_distance(1, i+2);
      |                           ^~~~~~~~~~~~