Cod sursa(job #576703)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 9 aprilie 2011 14:25:42
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
using namespace std;
#include<fstream>
#include<vector>
vector <int> l[100100];
bool v[100100];
int n,sol[100100],nr;
void DFS(int nod)
{int i;
v[nod]=1;
for(i=0;i<l[nod].size();i++)
	if(!v[l[nod][i]])
		DFS(l[nod][i]);
sol[nr++]=nod;
}
void citire()
{int m,x,y,i;
ifstream in("sortaret.in");
in>>n>>m;	
for(i=0;i<m;i++)
	{in>>x>>y;
	l[x].push_back(y);
	l[y].push_back(x);
	}
in.close();
}
int main()
{int cont=0,i;
citire();
for(i=1;i<=n;i++)
	if(!v[i])
		{cont++;DFS(i);}
ofstream out("sortaret.out");
for(i=nr-1;i>=0;i--)
	out<<sol[i]<<" ";
out<<'\n';
out.close();
return 0;
}