Submission #309918

#TimeUsernameProblemLanguageResultExecution timeMemory
309918tjdgus4384기지국 (IOI20_stations)C++14
0 / 100
1541 ms2097156 KiB
#include<bits/stdc++.h> #include "stations.h" using namespace std; vector<int> path[1001]; bool visited[1001]; int tsize[1001], lb[1001]; int dfs(int x){ int s = 1; for(int i = 0;i < path[x].size();i++){ if(visited[path[x][i]]) continue; visited[path[x][i]] = true; s += dfs(path[x][i]); } return tsize[x] = s; } void dfs2(int x, int s, int e, int d){ if(d%2 == 0) {lb[x] = s; s++;} else lb[x] = e; for(int i = 0;i < path[x].size();i++){ if(visited[path[x][i]]) continue; dfs2(path[x][i], s, s+tsize[path[x][i]]-1, d+1); s+=tsize[path[x][i]]; } } vector<int> label(int n, int k, vector<int> u, vector<int> v){ for(int i = 0;i < n;i++) path[i].clear(); for(int i = 0;i < n-1;i++){ path[u[i]].push_back(v[i]); path[v[i]].push_back(u[i]); } for(int i = 0;i < n;i++) visited[i] = false; visited[0] = true; dfs(0); for(int i = 0;i < n;i++) visited[i] = false; visited[0] = true; dfs2(0, 0, n-1, 0); vector<int> ret; for(int i = 0;i < n;i++) ret.push_back(lb[i]); return ret; } int find_next_station(int s, int t, vector<int> c){ if(c[0] < s){ if(t > s) return c[0]; c.push_back(1001); for(int i = 0;i < c.size() - 1;i++){ if(t >= c[i] && t < c[i+1]) return c[i]; } } else{ if(t < s) return c.back(); for(int i = 0;i < c.size();i++){ if(t <= c[i]) return c[i]; } return c.back(); } }

Compilation message (stderr)

stations.cpp: In function 'int dfs(int)':
stations.cpp:10:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for(int i = 0;i < path[x].size();i++){
      |                   ~~^~~~~~~~~~~~~~~~
stations.cpp: In function 'void dfs2(int, int, int, int)':
stations.cpp:20:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i = 0;i < path[x].size();i++){
      |                   ~~^~~~~~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:48:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |         for(int i = 0;i < c.size() - 1;i++){
      |                       ~~^~~~~~~~~~~~~~
stations.cpp:54:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |         for(int i = 0;i < c.size();i++){
      |                       ~~^~~~~~~~~~
stations.cpp:59:1: warning: control reaches end of non-void function [-Wreturn-type]
   59 | }
      | ^
#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...