Pagini recente » Cod sursa (job #1775997) | Cod sursa (job #559844) | Cod sursa (job #1645686) | Cod sursa (job #1396005) | Cod sursa (job #2236763)
#include <bits/stdc++.h>
using namespace std;
vector< int > v[50010];
int a,b,n,m;
stack < int > st;
bool ved[50010],ving[50010];
void dfs(int x)
{
ving[x]=1;
for(int i=0;i<v[x].size();i++)
{
if(!ved[v[x][i]] && !ving[v[x][i]]) dfs(v[x][i]);
}
ved[x]=1;
st.push(x);
}
int main()
{
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>a>>b;
v[a].push_back(b);
}
for(int i=1;i<=n;i++)
{
if(!ved[i]) dfs(i);
}
while(!st.empty())
{
cout<<st.top()<<' ';
st.pop();
}
return 0;
}