Submission #1282845

#TimeUsernameProblemLanguageResultExecution timeMemory
1282845SSKMFStations (IOI20_stations)C++20
0 / 100
388 ms504 KiB
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;

inline void Parcurgere (const int nod , const int sursa , int& moment , vector <int> adiacenta[] , vector <int>& rezultat)
{
	rezultat[nod] = moment++;
	for (auto& vecin : adiacenta[nod]) {
		if (vecin != sursa)
			{ Parcurgere(vecin , nod , moment , adiacenta , rezultat); }
	}
}

vector <int> label (int numar_noduri , int limita , vector <int> capat_1 , vector <int> capat_2)
{
	vector <int> adiacenta[1000];
	int moment = 0;

	vector <int> rezultat(numar_noduri);
	for (int indice = 0 ; indice < numar_noduri - 1 ; indice++)
	{
		adiacenta[capat_1[indice]].push_back(capat_2[indice]);
		adiacenta[capat_2[indice]].push_back(capat_1[indice]);
	}

	Parcurgere(0 , -1 , moment , adiacenta , rezultat);

	return rezultat;
}

int find_next_station (int sursa , int destinatie , vector <int> vecini)
{
	int indice = 0;
	while (indice + 1 < (int)vecini.size() && vecini[indice + 1] <= destinatie)
		{ indice++; }

	return vecini[indice];
}
#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...