제출 #791176

#제출 시각아이디문제언어결과실행 시간메모리
791176Pablo_No기지국 (IOI20_stations)C++17
0 / 100
331 ms592 KiB
#include "stations.h" #include <algorithm> #include <vector> using namespace std; vector<int> col; vector<vector<int>> g; int dfsfd(int v, int p, int d) { if(g[v].size() == d) { return v; } for(int u : g[v]) if(u != p) { int x = dfsfd(u, v, d); if(x != -1) { return x; } } return -1; } void dfs(int v, int p, int d) { col[v] = d-1; int ns = 0; for(int u : g[v]) if(u != p) { dfs(u, v, 2*d+ns); ns++; } } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { g.assign(n, vector<int>(0)); col.resize(n); for(int i = 0; i < n-1; i++) { g[u[i]].push_back(v[i]); g[v[i]].push_back(u[i]); } dfs(dfsfd(1, -1, 2), -1, 1); return col; } int find_next_station(int s, int t, std::vector<int> c) { sort(c.begin(), c.end()); int ts = s+1; int tt = t+1; int t1 = 2*ts; int t2 = 2*ts+1; while(tt && tt != t1 && tt != t2) { tt /= 2; } if(tt == t1) return t1-1; if(tt == t2) return t2-1; return ts/2-1; }

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

stations.cpp: In function 'int dfsfd(int, int, int)':
stations.cpp:12:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   12 |  if(g[v].size() == d)
      |     ~~~~~~~~~~~~^~~~
#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...