Pagini recente » Cod sursa (job #187147) | Cod sursa (job #2855721) | Cod sursa (job #922279) | Cod sursa (job #1491180) | Cod sursa (job #2484124)
#include<fstream>
#include<vector>
using namespace std;
const int Maxx=5e4+1;
vector<int> A[Maxx];
vector<int> ans;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
bool vis[Maxx];
int n,m,x,y;
void dfs(int node){
vis[node]=1;
vector<int>::iterator it;
for (it=A[node].begin();it!=A[node].end();++it){
if (!vis[(*it)]){
dfs(*it);
}
}
ans.push_back(node);
}
int main(){
fin>>n>>m;
for(;m;--m){
fin>>x>>y;
A[x].push_back(y);
}
int i;
for (i=1;i<=n;++i){
if (!vis[i]){
dfs(i);
}
}
for(i=n-1;i>=0;--i){
fout<<ans[i]<<" ";
}
fout<<"\n";
return 0;
}