Pagini recente » Cod sursa (job #1075233) | Cod sursa (job #2528470) | Cod sursa (job #328713) | Cod sursa (job #3198647) | Cod sursa (job #1253405)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector <int>L[200];
vector <int>p[200];
int n, m;
int v[200],timpfinal[200],k;
void Citire()
{
ifstream fin("sortaret.in");
fin >> n >> m; //m-numarul de muchii; n-nr de noduri
int i, x, y;
for (i = 1; i <= m; i++)
{
fin >> x >> y;
L[x].push_back(y);
}
fin.close();
}
void DFS_timp_final(int x)
{
v[x] = 1;
for (unsigned int i = 0; i < L[x].size(); i++)
if (v[L[x][i]] == 0)
DFS_timp_final(L[x][i]);
timpfinal[++k]=x;
}
int main()
{
Citire();
for(int i=1;i<=n;i++)
{
if(!v[i])
DFS_timp_final(i);
}
ofstream fout("sortaret.out");
for (int i=n;i>0;i--)
fout<<timpfinal[i]<<" ";
fout<<"\n";
fout.close();
return 0;
}