Submission #1030791

#TimeUsernameProblemLanguageResultExecution timeMemory
1030791vjudge1City Mapping (NOI18_citymapping)C++14
Compilation error
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; // long long int get_distance(int a, int b); // 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, long long int pd){ int st = dis[pos].second, dd = dis[pos].first; if(adj[u].size() == 0){ un(u, st, pd); return; } if(adj[u].size() == 1){ int x = adj[u][0]; long long 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]; long long int d = get_distance(x, st); if(d < pd) dfs(x, u, pos, d); else{ long long 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].first = 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].second, dis[0].first); for(int i = 1; i < n-1; i++){ dfs(1, -1, i, dis[i].first); } // for(int i = 0; i < n-1; i++){ // cout << v[i] << " " << r[i] << " " << w[i] << endl; // } int aa[n-1], bb[n-1], cc[n-1]; for(int i = 0; i < n-1; i++){ aa[i] = v[i]; bb[i] = r[i]; cc[i] = w[i]; // cout << v[i] << " " << r[i] << " " << w[i] << endl; } A = aa; B = bb; W = cc; return; } // 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); // } // }

Compilation message (stderr)

citymapping.cpp: In function 'void dfs(int, int, int, long long int)':
citymapping.cpp:46:27: error: 'get_distance' was not declared in this scope
   46 |         long long int d = get_distance(x, st);
      |                           ^~~~~~~~~~~~
citymapping.cpp:56:27: error: 'get_distance' was not declared in this scope
   56 |         long long int d = get_distance(x, st);
      |                           ^~~~~~~~~~~~
citymapping.cpp:38:31: warning: unused variable 'dd' [-Wunused-variable]
   38 |     int st = dis[pos].second, dd = dis[pos].first;
      |                               ^~
citymapping.cpp: In function 'void find_roads(int, int, int*, int*, int*)':
citymapping.cpp:73:27: error: 'get_distance' was not declared in this scope
   73 |         long long int d = get_distance(1, i+2);
      |                           ^~~~~~~~~~~~