Pagini recente » Cod sursa (job #1794085) | Cod sursa (job #65184) | Cod sursa (job #73915) | Cod sursa (job #2630835) | Cod sursa (job #929992)
Cod sursa(job #929992)
/*
Sa se citeasca un graf orientat fara bucle si fara arce multiple G=(V,E)
*/
#include<fstream>
#include<vector>
#define maxn 100
using namespace std;
int N,M;
vector<int> V[maxn];
vector<int> S;
vector<int> Rez;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void DF( int nod )
{
S[nod] = 2;
for (vector<int>::iterator it=V[nod].begin();it!=V[nod].end();it++)
if ( S[*it] == 1 )
DF( *it );
S[nod] = 3;
Rez.push_back(nod);
}
void sortareTopologica(){
for(int i=1;i<=N;i++)
if(!S[i])
DF(i);
}
void citire(){
int x,y;
f>>N>>M;
S.resize(N+1);
for(int i=1;i<=M;i++){
f>>x>>y;
S[y]=1;
}
}
void afis(){
for(int i=0;i<=Rez.size();i++)
g<<Rez[i]<<' ';
g<<'\n';
}
int main(){
citire();
sortareTopologica();
afis();
return 0;
}