Pagini recente » Cod sursa (job #1748842) | Cod sursa (job #2100153) | Cod sursa (job #2650069) | Cod sursa (job #1644826) | Cod sursa (job #1970739)
#include <bits/stdc++.h>
using namespace std;
int n,m1;
vector<int> m[50010];
stack<int> s;
bitset<50010> viz;
void dfs(int nod)
{
viz[nod]=1;
for(vector<int>::iterator it=m[nod].begin();it!=m[nod].end();it++)
if(!viz[*it]) dfs(*it);
s.push(nod);
}
int main()
{
int i,n1,n2;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m1);
for(;m1;m1--)
{
scanf("%d%d",&n1,&n2);
m[n1].push_back(n2);
}
for(i=1;i<=n;i++) if(!viz[i]) dfs(i);
while(!s.empty())
{
printf("%d ",s.top());
s.pop();
}
fclose(stdin);
fclose(stdout);
return 0;
}