Pagini recente » Cod sursa (job #1027597) | Cod sursa (job #2895111) | Cod sursa (job #56080) | Cod sursa (job #140638) | Cod sursa (job #2484267)
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
ifstream fin("sortaret.in"); ofstream fout("sortaret.out");
vector<int> l, l0, r, s;
vector<bool> v;
vector<vector<int> > g; int x, y;
int m, n;
void dfs(int s){
v[s]=true;
l0.pb(s);
for( auto i=g[s].begin(); i!=g[s].end(); i++){
if(v[*i]!=true){
dfs(*i);} }
}
int main(){
fin>>n>>m;
g.resize(n+1);
r.assign(n+1, 0);
for(int i=1; i<=m; i++){
fin>>x>>y;
g[x].pb(y);
r[y]=1;
}
v.assign(n+1, 0);
for(int i=1; i<=n; i++){
if(r[i]==0){s.pb(i);}
}
for(int i=0; i<s.size(); i++){
l0.clear();
dfs(s[i]);
l.insert(l.begin(), l0.begin(), l0.begin()+l0.size());
}
for(int i=0; i<l.size(); i++){
fout<<l[i]<<' ';
}
}