Pagini recente » Cod sursa (job #2359539) | Cod sursa (job #2614519) | Cod sursa (job #303401) | Cod sursa (job #308926) | Cod sursa (job #997715)
Cod sursa(job #997715)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,sol[50010];
bool viz[50010],viz1[50010];
vector<int> L[50010];
void dfs(int nod){
viz[nod]=true;
for(register int i=0;i<L[nod].size();i++){
if(!viz[L[nod][i]]){
dfs(L[nod][i]);
}
}
sol[++sol[0]]=nod;
}
int main(void){
register int i,x,y;
f>>n>>m;
for(i=1;i<=m;i++)
f>>x>>y,L[x].push_back(y),viz1[y]=true;
for(i=1;i<=n;i++){
if(!viz1[i])
dfs(i);
}
for(i=n;i>0;i--)
g<<sol[i]<<" ";
f.close();
g.close();
return 0;
}