Pagini recente » Cod sursa (job #1801940) | Cod sursa (job #1064969) | Cod sursa (job #1278846) | Cod sursa (job #1953428) | Cod sursa (job #1906554)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int n,m;
vector <int> G[50005];
queue <int> c;
int s[50005],vf;
bool v[50005];
void cit(){
fin>>n>>m;
int to,from,k;
for(int k=1;k<=m;k++){
fin>>from>>to;
G[from].push_back(to);}
}
void dfs(int k){
v[k]=true;
for(vector <int> ::iterator it=G[k].begin();it!=G[k].end();it++)
if(v[*it]==false)
dfs(*it);
s[++vf]=k;
}
int main(){
cit();
for(int i=1;i<=n;i++)
if(v[i]==false)
dfs(i);
for(int i=n;i>=1;i--)
fout<<s[i]<<" ";
return 0;}