Submission #434205

#TimeUsernameProblemLanguageResultExecution timeMemory
434205KanaifuStations (IOI20_stations)C++14
0 / 100
3022 ms2097156 KiB
#include <bits/stdc++.h> #include "stations.h" #include <vector> //#include "stub.cpp" using namespace std; #define pb push_back vector <int> adj[1001]; int in[1001], out[1001]; int cnt = 0; void dfs (int node, int last) { in[node] = cnt++; for (auto next : adj[node]) { if (next==last) { continue; } dfs(next, node); } out[node] = cnt; } bool check(int lab1, int lab2) { int cur_in = lab1/1000; int cur_out = lab1%1000; int des_in = lab2/1000; int des_out = lab2%1000; if (cur_in < des_in and des_in <= cur_out) { return true; } else { return false; } } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { vector <int> labels; for (int i = 0; i < n-1; i++) { adj[u[i]].pb(v[i]); adj[v[i]].pb(u[i]); } dfs(0, -1); for (int i=0; i<n; i++) { labels.pb(in[i]*1000 + out[i]); } return labels; } int find_next_station(int s, int t, std::vector<int> c) { if (check(s, t)) { for (auto child : c) { if (child==t) { return child; } if (check(child, s)) { continue; } if (check(child, t)) { return child; } } } else { for (auto child : c) { if (child==t) { return child; } if (check(child, s)) { return child; } } } } /* 1 5 10 0 1 1 2 1 3 2 4 2 2 0 1 1 3 3 */

Compilation message (stderr)

stations.cpp: In function 'bool check(int, int)':
stations.cpp:31:9: warning: unused variable 'des_out' [-Wunused-variable]
   31 |     int des_out = lab2%1000;
      |         ^~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:92:1: warning: control reaches end of non-void function [-Wreturn-type]
   92 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...