Pagini recente » Cod sursa (job #2192527) | Cod sursa (job #800787) | Cod sursa (job #2931081) | Cod sursa (job #64594) | Cod sursa (job #1379425)
#include <fstream>
#include <vector>
#include <stack>
#define nmax 50009
using namespace std;
struct vecini
{
vector <int> v;
};
vecini g[nmax];
int deg[nmax];
stack <int> ans;
void DFS(int n)
{
int i,x;
for(i=0;i<g[n].v.size();i++)
{
x=g[n].v[i];
DFS(x);
}
ans.push(n);
}
int main()
{
int n,m,i,x,y;
ifstream f("sortaret.in");
ofstream h("sortaret.out");
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
g[x].v.push_back(y);
deg[y]++;
}
for(i=1;i<=n;i++)
{
if(deg[i]==0)
{
DFS(i);
}
}
while(ans.empty()==0)
{
h<<ans.top()<<" ";
ans.pop();
}
return 0;
}