Cod sursa(job #509985)

Utilizator RaddarDascalu Alexandru Raddar Data 12 decembrie 2010 11:39:59
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<algorithm>
#include<iostream>
using namespace std;
int nr_pred[100],succ[100][100],n,i,j,a,m,gasit;

int main()
{
	freopen ("sortaret.in", "r", stdin);
	freopen("sortaret.out","w", stdout);
	cin>>n;
	cin>>m;
	for(int x=1;x<=m;x++)
	{
		cin>>i;
		cin>>j;
		++nr_pred[j];
		++succ[i][0];
		succ[i][succ[i][0]]=j;
		
	}	
	a = 0;
	gasit=1;
	
	while ( a<n )
	{
		
		gasit=0;
		for(i=1;i<=n;i++)
		if(nr_pred[i]==0)
		{
			a++;
			gasit=1;
			cout<<i<<" ";
			for(int j=1;j<=succ[i][0];j++)
			{
				nr_pred[succ[i][j]]--;
			}
			nr_pred[i]=-1;
		}
	}
}