제출 #1225859

#제출 시각아이디문제언어결과실행 시간메모리
1225859PVM_pvm기지국 (IOI20_stations)C++20
52.32 / 100
314 ms576 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; #define MAXN 1000 int pt; int nch[MAXN],krai[MAXN]; vector<int> vv[MAXN]; void dfs(int x, int par) { nch[x]=pt; pt++; for (int q=0;q<vv[x].size();q++) { if (vv[x][q]==par) continue; dfs(vv[x][q],x); } krai[x]=pt-1; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { for (int q=0;q<n;q++) vv[q].clear(); pt=0; for (int i = 0; i < n-1; i++) { vv[ u[i] ].push_back(v[i]); vv[ v[i] ].push_back(u[i]); } dfs(0,-1); vector<int> labels(n); for (int q=0;q<n;q++) { labels[q]=nch[q]*1000+krai[q]; //cout<<labels[q]<<" "; } return labels; } int find_next_station(int s, int t, vector<int> c) { int mstS=s/1000; int mstT=t/1000; int prr=-1; for (int q=0;q<c.size();q++) { int mstC=c[q]/1000; if (mstC<mstS) { prr=q; break; } } //cout<<prr<<" "<<c[prr]<<"\n"; int kraiS=s%1000; if (mstT>kraiS || mstT<mstS) return c[prr]; for (int q=0;q<c.size();q++) { if (prr==q) continue; int mstC=c[q]/1000; int kraiC=c[q]%1000; if (mstT>=mstC && mstT<=kraiC) return c[q]; } }

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

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
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...