Submission #1241251

#TimeUsernameProblemLanguageResultExecution timeMemory
1241251ghammazhassan기지국 (IOI20_stations)C++20
0 / 100
1205 ms2162688 KiB
#include <bits/stdc++.h> using namespace std; const int N=2e3+5; vector<int>a[N]; int in[N],out[N],dep[N]; int ce=0; int ki; int ni; void dfs(int x,int y,vector<int> &labels){ if (x!=0){ dep[x]=dep[y]+1; } in[x]=ce; for (int i:a[x]){ if (i==y)continue; dfs(i,x,labels); } out[x]=ce; ce++; // if (dep[x]%2==0){ labels[x]=out[x]; // cout << x << " " << labels[x] << endl; // } // else{ // labels[x]=in[x]; // } } vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<int> labels(n); ki=k; ni=n; for (int i = 0; i < n; i++) { labels[i] = i; } for (int i=0;i<n-1;i++){ int x=u[i]; int y=v[i]; a[x].push_back(y); a[y].push_back(x); } dfs(0,-1,labels); for (int i=0;i<=n;i++){ a[i].clear(); } for (int i=0;i<n-1;i++){ int x=labels[u[i]]; int y=labels[v[i]]; a[x].push_back(y); a[y].push_back(x); } return labels; } bool dfs2(int x,int y,int t){ bool f=0; for (int i:a[x]){ if (i==y)continue; if (i==t){ f=1; break; } f=dfs2(i,x,t); } return f; } int find_next_station(int s, int t, vector<int> c) { for (int i:c){ if (dfs2(i,s,t) or i==t){ // cout << i << endl; return i; } } // return 6; }

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:74:1: warning: control reaches end of non-void function [-Wreturn-type]
   74 | }
      | ^
#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...