Pagini recente » Cod sursa (job #314598) | Cod sursa (job #2420493) | Cod sursa (job #1555236) | Cod sursa (job #2249412) | Cod sursa (job #3266511)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 100001;
int node[NMAX], vf[NMAX], top = 0;
vector<int> graf[NMAX];
void dfs(int nod){
vf[nod] = 1;
for(auto it : graf[nod]){
if(!vf[it]){
dfs(it);
}
}
node[++top] = nod;
}
int main(void){
ofstream cout("sortaret.out");
ifstream cin("sortaret.in");
int n, m;
cin >> n >> m;
for(int i = 1;i <= m ;i++){
int x, y;
cin >> x >> y; /// avem muchie de la x la y
graf[x].push_back(y);
}
for(int i= 1;i <=n ;i++){
if(vf[i] == 0){
dfs(i);
}
}
for(int i = n ;i >= 1;i--){
cout << node[i] << ' ';
}
}