제출 #1257553

#제출 시각아이디문제언어결과실행 시간메모리
1257553NurislamStations (IOI20_stations)C++20
0 / 100
306 ms600 KiB
#include "stations.h"
#include <bits/stdc++.h>


using namespace std;

vector<int> label(int n, int k, vector<int> u,vector<int> v) {
	vector<vector<int>> g(n);
	for(int i = 0; i+1 < n; i ++ ) {
		g[u[i]].push_back(v[i]);
		g[v[i]].push_back(u[i]);
	};
	
	int ct = 0;
	vector<int> l(n);
	
	function<void(int,int,int)> dfs = [&](int ps,int pr, int tp) {
		if(tp) l[ps] = ct ++ ;
		
		for(int to : g[ps] )
			if(to != pr)
				dfs(to,ps,tp^1);
		
		if(!tp) l[ps] = ct ++ ;
	};
	
	dfs(0,0,1);
	
	
	return l;
};


int find_next_station(int s, int t, vector<int> g) {
	if(s < g[0]){
		if(t < s)return g.back();
		int x = lower_bound(g.begin(), g.end(), t) - g.begin();
		if(x == g.size()) x -- ;
		return g[x];
	}else {
		if(t > s) return g[0];
		reverse(g.begin(), g.end());
		for(int i : g) {
			if(i <= t) return i;
		};
			
	};
	
	
};

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

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