Pagini recente » Cod sursa (job #1131235) | Cod sursa (job #2522847) | Cod sursa (job #890885) | Cod sursa (job #1808728) | Cod sursa (job #2530624)
#include <fstream>
using namespace std;
int i,n,m,nr,viz[100000],st[100000];
ifstream fin("topsort.in");
ofstream fout("topsort.out");
struct arc
{
int i,j;
}v[100000];
void citire()
{
int i,j,k;
fin>>n>>m;
for(k=1;k<=m;k++)
fin>>v[k].i>>v[k].j;
}
int verif(int p,int q)
{
int t,ok;
for(t=1;t<=m;t++)
if(p==v[t].i&&q==v[t].j) return 1;
return 0;
}
void df(int x)
{ int i;
viz[x]=1;
for(i=1;i<=n;i++)
if(verif(x,i)&&viz[i]==0)
df(i);
nr++;
st[nr]=x;
}
int main()
{
citire();
nr=0;
for(i=1;i<=n;i++)
if(viz[i]==0) df(i);
for(i=nr;i>0;i--)
fout<<st[i]<<' ';
}