Pagini recente » Cod sursa (job #2554406) | Cod sursa (job #2366351) | Cod sursa (job #129687) | Cod sursa (job #2518917) | Cod sursa (job #3030270)
#include <fstream>
#include <vector>
#include <stack>
#include <set>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
vector <set<int> > G;
int n,m,ctc;
vector <int> viz,s;
void DFS(int start)
{
viz[start]=1;
for(auto it:G[start])
if(!viz[it])
{
DFS(it);
}
s.push_back(start);
}
int main()
{
cin>>n>>m;
G.resize(n+1);
viz.resize(n+1);
while(m--)
{
int x,y;
cin>>x>>y;
if(G[x].find(y) == G[x].end()) G[x].insert(y);
}
for(int i=1;i<=n;++i)
if(!viz[i])
DFS(i);
for(auto it=s.rbegin(); it!=s.rend(); it++)
cout<<*it<<' ';
return 0;
}