Pagini recente » Cod sursa (job #2765368) | Cod sursa (job #58036) | Cod sursa (job #825197) | Cod sursa (job #1821621) | Cod sursa (job #2150336)
#include <fstream>
#include <vector>
using namespace std;
int n,m,use[50005],a[50000],ct;
vector <int> v[50005];
ifstream in("sortaret.in");
ofstream out("sortaret.out");
void Read()
{
int x,y;
in>>n>>m;
for(int i=1;i<=m;i++)
{
in>>x>>y;
v[x].push_back(y);
}
}
void DFS(int nod)
{
use[nod]=1;
for(unsigned int i=0;i<v[nod].size();i++)
{
int vecin = v[nod][i];
if(use[vecin]==0)
DFS(vecin);
}
a[ct]=nod; ct++;
}
int main()
{
int i;
Read();
for(i=1;i<=n;i++)
if(use[i]==0)
DFS(i);
for(i=ct-1;i>=0;i--)
out<<a[i]<<' ';
out<<'\n';
return 0;
}