Pagini recente » Cod sursa (job #417995) | Cod sursa (job #1315118) | Cod sursa (job #970953) | Cod sursa (job #1083457) | Cod sursa (job #1115266)
#include <fstream>
#define MAXA 2000000000
using namespace std;
ifstream fin("bellmanford.in");
ofstream fout("bellmanford.out");
struct Nod{int inf; Nod* leg;};
typedef Nod* nod;
nod a[50005],s;
int n,m,viz[50001];
//void sterg(nod &q){viz[q->inf]=0;nod p=q->leg;delete q; q=p;}
void add(nod &q, int x)
{
nod p=new Nod;
p->inf=x;
p->leg=q;
q=p;
}
void df(int i)
{
viz[i]=1;
for(nod p=a[i];p;p=p->leg) if(!viz[p->inf])df(p->inf);
add(s,i);
}
int main()
{
int i,x,y;
fin>>n>>m;
for(i=1; i<=m;i++)
{
fin>>x>>y;
add(a[x],y);
}
for(i=1; i<=n; i++) if(!viz[i]) df(i);
while (s){fout<<s->inf<<" ";s=s->leg;}
return 0;
}