Pagini recente » Cod sursa (job #1690977) | Cod sursa (job #3149113) | Cod sursa (job #1290199) | Cod sursa (job #2143979) | Cod sursa (job #982158)
Cod sursa(job #982158)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,sol[50011];
bool v[50011],viz[50011];
vector<int> L[50011];
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,j,x,y;
f>>n>>m;
for(i=1;i<=m;i++){
f>>x>>y;
L[x].push_back(y);
v[y]=true;
}
for(i=1;i<=n;i++)
if(!v[i])
dfs(i);
for(i=n;i>0;i--)
g<<sol[i]<<" ";
f.close();
g.close();
return 0;
}