Cod sursa(job #2249429)

Utilizator agrtAndreea G agrt Data 29 septembrie 2018 20:51:38
Problema Zvon Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <fstream>
#include <iostream>
#include <vector>
#include <queue>
#include <utility>
#include <cstring>
#include <algorithm>

using namespace std;
vector<int> angs[100010];
int angajati;

bool compar(int a, int b) { 
	if (angs[a].size() < angs[b].size())
		return 0;
	return 1;
}

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;
			memset(angs, 0, sizeof(angs));
			for (int j = 0; j < angajati - 1; ++j) {
				fi >> x >> y;
				angs[x - 1].push_back(y - 1);
			}
			queue< pair<int, int> > order;
			for (int j = 0; j < angajati; j++) {
				if (!angs[j].empty())
					sort(angs[j].begin(), angs[j].end(), compar);
				// cout <<j <<" : ";
				// for (size_t k = 0; k < angs[j].size(); k++) {
				// 	cout << angs[j][k] << "   ";
				// }
				// cout << "\n";
			}

			// //cout << "\n";
			// 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;
}