Pagini recente » Cod sursa (job #2011173) | Cod sursa (job #1005552) | Cod sursa (job #2315424) | Cod sursa (job #96684) | Cod sursa (job #1754433)
#include <iostream>
#include <fstream>
#include <vector>
#define Max_N 50000
using namespace std;
int n,m,a[Max_N],k=0;
vector<int> v[Max_N];
bool valid[Max_N];
ifstream f("sortaret.in");
ofstream g("sortaret.out");
void citire()
{
int a,b;
f>>n>>m;
for(int i = 1 ; i <= m ; i++)
{
f>>a>>b;
v[a].push_back(b);
}
for(int i = 1 ; i <= n ; i++)
valid[i] = false;
}
void sortaret(int nod)
{
valid[nod] = true;
k++;
a[k] = nod;
for(int i = 0 ; i < v[nod].size() ; i++)
if(valid[v[nod][i]]==false)
sortaret(v[nod][i]);
}
int main()
{
citire();
for(int i = 1 ; i<= n ; i++)
if(valid[i] == false)
sortaret(i);
for(int i = 1 ; i<= n ; i++)
g<<a[i]<<' ';
return 0;
}