Pagini recente » Cod sursa (job #1137721) | Cod sursa (job #3208342) | Cod sursa (job #3266843) | Cod sursa (job #397866) | Cod sursa (job #731566)
Cod sursa(job #731566)
#include <stdio.h>
#include <vector>
#include <stack>
using namespace std;
vector<int>v[50001];
stack<int>q;
bool viz[50001];
int n,m;
void bfs(int x){
for(int i=0;i<v[x].size();i++)
if(!viz[v[x][i]]){
viz[v[x][i]]=1;
bfs(v[x][i]);}
q.push(x);
}
int main(){
int x,y;
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=m;i++){
scanf("%d %d",&x,&y);
v[x].push_back(y); }
for(int i=1;i<=n;i++)
if(!viz[i]){
viz[i]=1;
bfs(i);}
while(q.size()>0){
printf("%d ",q.top());
q.pop(); }
}