Pagini recente » Cod sursa (job #2260208) | Cod sursa (job #1537633) | Cod sursa (job #1883114) | Cod sursa (job #2158791) | Cod sursa (job #1429032)
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> G[50006];
int viz[50006],s[50006],k;
void topo(int nod)
{
viz[nod]=1;
for(int i=0;i<G[nod].size();i++)
if(viz[G[nod][i]]==0)
topo(G[nod][i]);
s[++k]=nod;
}
int main()
{int n,m;
f>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
G[x].push_back(y);
}
for(int i=1;i<=n;i++)
if(!viz[i])
topo(i);
for(int i=n;i>=1;i--)
g<<s[i]<<" ";
return 0;
}