Pagini recente » Cod sursa (job #1265518) | Cod sursa (job #262486) | Cod sursa (job #1999123) | Cod sursa (job #1570052)
#include <iostream>
#include <cstring>
#include <stdlib.h>
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
int c_mod(int a, int b)
{
if(a%b>=0)return a%b;
return a%b+b;
}
int c_div(int a, int b)
{
if(a%b>=0)return a/b;
return a/b-1;
}
fstream f,g;
char start[50001];
struct lst
{
int inf;
lst *urm;
};
struct nod
{
lst *p,*u;
}v[50001];
int i,j,k,l,n,m;
void search(int i)
{
lst *u;
for(u=v[i].p;u!=NULL;u=u->urm)search(u->inf);
g<<i<<' ';
}
int main()
{
f.open("sortaret.in",ios_base::in);
g.open("sortaret.out",ios_base::out);
f>>n>>m;
lst *t;
for(i=1;i<=m;i++)
{
f>>j>>k;
start[j]=1;
t=new lst;
t->inf=j;
t->urm=NULL;
if(v[k].p==NULL)
{
v[k].p=t;
}
else
{
v[k].u->urm=t;
}
v[k].u=t;
}
for(i=1;i<=n;i++)if(start[i]==0)search(i);
}