Cod sursa(job #1434973)

Utilizator sorina.alexandraCostache Sorina-Alexandra sorina.alexandra Data 11 mai 2015 19:30:55
Problema Sortare topologica Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<iostream>
#include<fstream>
#include<stack>
using namespace std;
int N,M, a[20000][20000],viz[25000];
stack<int>lista;
void dfs(int nod)
{
	viz[nod]=1;
	for(int i=1; i<=N; i++)
		if(viz[i]!=1 && a[nod][i]!=0)
			dfs(i);
	lista.push(nod);
}
int main()
{	
	int i,x,y;
	ifstream f("sortaret.in");
	f>>N>>M;
	for(i=1; i<=M; i++)
		{
			f>>x>>y;
			a[x][y]=1;
		}
	f.close();
	for(i=1; i<=N; i++)
		if(!viz[i])
		{
			dfs(i);
		}
	ofstream g("sortaret.out");
	while (!lista.empty())
    {
        g << lista.top() << " ";
        lista.pop();
    }
	g.close();
	return 0;
}