Cod sursa(job #2249403)

Utilizator agrtAndreea G agrt Data 29 septembrie 2018 19:25:08
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <iostream>
#include <vector>
#include <queue>
#include <utility>

using namespace std;

int main(int argc, char** argv) {
	ifstream fi("zvon.in");
	ofstream fo("zvon.out");

	int teste;
	int angajati;

	fi >> teste;
	for (int i = 0; i < teste; ++i) {
		fi >> angajati;
		if (angajati > 1) {
			int x, y;
			vector<int> angs[angajati + 1];
			for (int j = 0; j < angajati - 1; ++j) {
				fi >> x >> y;
				angs[x - 1].push_back(y - 1);

			}
			queue< pair<int, int> > order;

			order.push(make_pair(0, 0));
			while (1) {
				pair<int, int> x = order.front();
				order.pop();
				
				for (unsigned int vec = 0; vec < angs[x.first].size(); vec++)
					order.push(make_pair(angs[x.first][vec], x.second + 1 + vec));
			
				if (order.empty()) {
					fo << x.second << "\n";
					break;
				} 
			}
		} else {
			fo << "0\n" << flush;
		}

	}
	return 0;
}