Pagini recente » Cod sursa (job #3311817) | Cod sursa (job #3310605) | Cod sursa (job #2606053) | Cod sursa (job #3308245) | Cod sursa (job #1902231)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int n,m;
vector<int> muchii[50005];
void Read()
{
ifstream f("sortaret.in");
f>>n>>m;
int x,y;
for(int i=1; i<=m; i++)
{
f>>x>>y;
muchii[x].push_back(y);
}
}
int culoare[50002],p[100],tdesc[100],tfin[100],timp,st[50002],k;
void DFS(int u)
{
culoare[u]=1;
//tdesc[u]=++timp;
for (int v = 0; v < muchii[u].size(); v++)
{
int y = muchii[u][v];
if (!culoare[y])
DFS(y);
}
culoare[u]=2;
//tfin[u]=++timp;
st[++k]=u;
}
void Write()
{
ofstream g("sortaret.out");
for(int i=n; i>0; i--)
g<<st[i]<<" ";
}
int main()
{
Read();
for(int u=1; u<=n; u++)
if(culoare[u]==0)
DFS(u);
Write();
return 0;
}