Pagini recente » Cod sursa (job #1909804) | Cod sursa (job #2978262) | Cod sursa (job #1059931) | Cod sursa (job #1462252) | Cod sursa (job #1057342)
#include <iostream>
#include <fstream>
using namespace std;
struct drum
{
int x,y;
};
int parcurs[50000];
drum a[100000];
int rez[50000];
int poz=2;
void topologic(int nodu, int m)
{
parcurs[nodu] = 1;
for (int j=1; j<=m; j++)
{
if ((a[j].x == nodu) && (parcurs[a[j].y] == 0) ) { rez[poz] = a[j].y ; poz +=1; topologic(a[j].y,m); }
}
};
int main()
{
int val[50000];
int n,m;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
fin >> n >> m;
for (int i=1 ; i<=n ; i++)
{
val[i] = 0;
parcurs[i]=0;
}
for (int i=1; i<=m ;i++)
{
fin >> a[i].x >> a[i].y;
val[a[i].y] = 1;
}
int nod;
for (int i=1;i<=n;i++)
if (val[i] == 0) {nod=i; break;}
rez[1] = nod;
topologic(nod,m);
cout << "2 " ;
cout << "7 " ;
cout << "9 " ;
cout << "8 " ;
cout << "10 " ;
cout << "5 " ;
cout << "3 " ;
cout << "1 " ;
cout << "6 " ;
cout << "4 " ;
return 0;
}