제출 #1078461

#제출 시각아이디문제언어결과실행 시간메모리
1078461Trumling기지국 (IOI20_stations)C++14
10 / 100
634 ms776 KiB
#include "stations.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std; 

typedef long long ll;
#define pb push_back
#define F first
#define S second
#define enter cout<<'\n';
#define INF 99999999999999999
#define MOD 1000000007
#define all(x) x.begin(),x.end()

vector<vector<ll>>g;
vector<int> Labels;

void dfs(int start,int pre)
{
	Labels[start]=(1<<start);
	for(auto x:g[start])
		if(x!=pre)
		{
			dfs(x,start);
			Labels[start]|=Labels[x];
		}
}

std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	
	
	g.assign(n,vector<ll>());
	Labels.assign(n,0);
	for (int i = 0; i < n-1; i++) {
		g[u[i]].pb(v[i]);
		g[v[i]].pb(u[i]);
	}
	dfs(0,0);
	for(int i=0;i<n;i++)
		Labels[i]+=i*256;
	

	return Labels;
}

int find_next_station(int s, int t, vector<int> c) {
	
	ll S=s/256;
	ll T=t/256;

	ll par;
	vector<ll>v;
	for(auto x:c)
	{
		if((1<<S)&x)
			par=x;

		if((1<<T)&x)	
			v.pb(x);
	}

	if(S==0)
		return v[0];

	if(v.size()<=1)
		return par;
	
	return v[0] - par + v[1];

}

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

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:66:10: warning: 'par' may be used uninitialized in this function [-Wmaybe-uninitialized]
   66 |   return par;
      |          ^~~
#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...