Pagini recente » Cod sursa (job #65639) | Cod sursa (job #1149113) | Cod sursa (job #2709644) | Cod sursa (job #2720771) | Cod sursa (job #409603)
Cod sursa(job #409603)
#include<fstream>
#include<algorithm>
#include<vector>
#define NMAX 50003
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector<int>A[NMAX];
struct noduri{int n; int t2;} nod[NMAX];
int n,m,i,x,y,j,t,vz[NMAX];
void dfs(int);
int condsort(noduri,noduri);
int main()
{
fin>>n>>m;
for (i=1;i<=m;i++)
{
fin>>x>>y;
A[x].push_back(y);
}
for (i=1;i<=n;i++)
nod[i].n=i;
t=1;
dfs(1);
sort(nod+1,nod+n+1,condsort);
for (i=1;i<=n;i++)
fout<<nod[i].n<<' ';
fout.close();
return 0;}
void dfs(int x)
{int i;
vz[x]=1;
for (i=0;i<A[x].size();i++)
if (!vz[A[x][i]])
{
++t;
dfs(A[x][i]);
}
++t; nod[x].t2=t; //++t;
}
int condsort(noduri x, noduri y){if (x.t2>y.t2) return 1; return 0;}