Pagini recente » Cod sursa (job #1950985) | Monitorul de evaluare | Cod sursa (job #3142294) | Cod sursa (job #2407304) | Cod sursa (job #1846518)
#include<iostream>
#include<vector>
#include<algorithm>
#include<fstream>
using namespace std;
int n,m,y,x,nr=0,z[100001];
ifstream in("sortaret.in");
ofstream out("sortaret.out");
bool st[100001];
vector < vector < int > > v(100001);
void dfs(int k)
{
st[k]=1;
int a=v[k].size();
for(int i=0;i<a;i++)
if(st[v[k][i]]==0)
dfs(v[k][i]);
z[++nr]=k;
}
int main()
{
in>>n>>m;
while(in>>x>>y)
{
v[x].push_back(y);
}
for(int i=1;i<=n;i++)
if(st[i]==0)
dfs(i);
for(int i=n;i>=1;i--)
out<<z[i]<<" ";
}