Pagini recente » Cod sursa (job #3001691) | Cod sursa (job #1571621) | Cod sursa (job #3001087) | Cod sursa (job #1535838) | Cod sursa (job #412112)
Cod sursa(job #412112)
#include<fstream>
#include<vector>
using namespace std;
#define nmax 50005
vector<int> g[nmax];
int postord[nmax],viz[nmax];
int n,m,k;
void citire ()
{
ifstream fin("sortaret.in");
fin>>n>>m;
int i,a,b;
for(i=1;i<=m;i++)
fin>>a>>b,g[a].push_back(b);
fin.close ();
}
void dfs_sort(int nod)
{
viz[nod]=1;
int i;
for(i=0;i<g[nod].size();i++)
if(!viz[g[nod][i]])
dfs_sort(g[nod][i]);
postord[++k]=nod;
}
void scrie ()
{
int i;
ofstream fout("sortaret.out");
for(i=n;i>=1;i--)
fout<<postord[i]<<' ';
fout.close();
}
int main ()
{
citire ();
int i;
for(i=1;i<=n;i++)
if(!viz[i])
dfs_sort(i);
scrie ();
return 0;
}