Submission #795786

#TimeUsernameProblemLanguageResultExecution timeMemory
795786alexander707070Stations (IOI20_stations)C++14
0 / 100
668 ms856 KiB
#include<bits/stdc++.h> #define MAXN 1007 using namespace std; int n,root; vector<int> sol,v[MAXN]; int tim,num[MAXN]; bool vis[MAXN]; queue<int> q; void dfs(int x,int p,int dep){ num[x]=tim; tim++; for(int i=0;i<v[x].size();i++){ if(v[x][i]!=p)dfs(v[x][i],x,dep+1); } sol[x]=num[x]; } void bfs(int x){ vis[x]=true; for(int i=0;i<v[x].size();i++){ if(vis[v[x][i]])continue; vis[v[x][i]]=true; num[v[x][i]]=tim; tim++; q.push(v[x][i]); } } vector<int> label(int N, int k,vector<int> from,vector<int> to){ n=N; sol.resize(n); for(int i=0;i<n;i++){ v[i].clear(); vis[i]=false; } tim=0; for(int i=0;i<n-1;i++){ v[from[i]].push_back(to[i]); v[to[i]].push_back(from[i]); } for(int i=0;i<n;i++){ if(v[i].size()==2){ root=i; } } vis[root]=true; num[root]=tim; tim++; q.push(root); while(!q.empty()){ bfs(q.front()); q.pop(); } for(int i=0;i<n;i++){ sol[i]=num[i]; } return sol; } int find_next_station(int s, int t,vector<int> c){ s++; t++; if(t<s){ for(int i=0;i<c.size();i++){ if(c[i]<s)return c[i]; } }else{ while(t/2>s){ t/=2; } for(int i=0;i<c.size();i++){ if(t==c[i]+1)return c[i]; } } }

Compilation message (stderr)

stations.cpp: In function 'void dfs(int, int, int)':
stations.cpp:13:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |     for(int i=0;i<v[x].size();i++){
      |                 ~^~~~~~~~~~~~
stations.cpp: In function 'void bfs(int)':
stations.cpp:21:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |     for(int i=0;i<v[x].size();i++){
      |                 ~^~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:67:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |         for(int i=0;i<c.size();i++){
      |                     ~^~~~~~~~~
stations.cpp:74:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |         for(int i=0;i<c.size();i++){
      |                     ~^~~~~~~~~
stations.cpp:78:1: warning: control reaches end of non-void function [-Wreturn-type]
   78 | }
      | ^
#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...