제출 #1351510

#제출 시각아이디문제언어결과실행 시간메모리
1351510jump기지국 (IOI20_stations)C++20
컴파일 에러
0 ms0 KiB
#include "stations.h"
#include <bits/stdc++.h>
int lab=0;
std::vector<int> adj[1010];
std::vector<int> Labels;
void dfs(int curr,int par,bool b){
	if(b)Labels[curr]=lab++;
	for(auto to:adj[curr]){
		if(to==par)continue;
		dfs(to,curr,!b);
	}
	if(!b)Labels[curr]=lab++;
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	Labels.assign(n,0);
	for(int i=0;i<=n;i++)adj.clear();
	lab=0;
	for(int i=0;i<n-1;i++){
		adj[u[i]].push_back(v[i]);
		adj[v[i]].push_back(u[i]);
	}
	dfs(0,0,0);
	//for(auto num:Labels)std::cout << num << ' ';
	return Labels;
}
int find_next_station(int s, int t, std::vector<int> c) {
	//std::sort(c.begin(),c.end());
	bool mi=false;
	for(auto num:c){
		if(num>s)
		mi=true;
		if(num==t)return num;
	}
	if(mi){
		if(t>c.back()||t<s)return c[c.size()-1];
		int idx = std::upper_bound(c.begin(),c.end(),t)-c.begin();
		return c[std::min(idx,(int)(c.size()-1))];
	}
	else{
		if(t<=*c.begin()||t>s)return c[0];
		int idx = std::lower_bound(c.begin(),c.end(),t)-c.begin();
		return c[std::min(idx,(int)(c.size()-1))];
	}
}

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

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:16:34: error: request for member 'clear' in 'adj', which is of non-class type 'std::vector<int> [1010]'
   16 |         for(int i=0;i<=n;i++)adj.clear();
      |                                  ^~~~~