Cod sursa(job #390912)

Utilizator mathboyDragos-Alin Rotaru mathboy Data 4 februarie 2010 19:37:03
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <fstream>
#include <vector>
#define DIM 200000
#define pb push_back

using namespace std;

ifstream fin ("stramosi.in"); // citire + scriere cu streamuri pt eficienta (cica)
ofstream fout ("stramosi.out");
vector <int> G [DIM], sol [DIM];
int N, M, i, p, q, viz [DIM], a, st [DIM];
void dfs (int node, int lev) {
    
	int j;
	for (j = 0; j < G [node].size (); j++) 
		if (!viz [G [node][j]]) {
			viz [G [node][j]] = 1;
			st [++lev] = G [node][j];
			dfs (G [node][j], lev);
		}
	-- lev;
	for (int k = lev; k >= 1; k--)
		sol [node].pb (st [k]);
}

int main () {
	
	int j, t;
	fin >> N >> M;
	for (i = 1; i <= N; i++) {
		fin >> a;
		G [a].pb (i);
		fout <<a <<" "<<i<<"  ";
		for (j = 0; j < G [a].size (); j++) fout <<G [a][j]<<" ";
		fout <<"\n";
	}
	
	/*for (i = 1; i <= N; i++)
		if (!viz [i])
			dfs (i, 0);
	/*
	for (i = 1; i <= M; i++) {
		fin >> q >> p;
		for (t = 0, j = 0; j < sol [q].size (); j++) 
			if (j == p - 1) {
				fout << sol [q][j] << "\n";
				t = 1;
			}
			if (t == 0) fout << 0 <<"\n";
	}
	for (i = 0; i <= N; i++) {
		for (j = 0; j < G[i].size (); j++) 
			fout <<i<<"  "<< G [i][j] << " ";
		fout << "\n";
	}*/
	return 0;
}