Pagini recente » Cod sursa (job #1267471) | Cod sursa (job #835115) | Cod sursa (job #2631809) | Cod sursa (job #2698482) | Cod sursa (job #2458088)
#include <iostream>
#include <fstream>
#include <vector>
#define limit 50100
using namespace std;
int n,m,a,b;
vector <int>G[limit];
vector <int> solutie;
int grad[limit]{};
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
bool viz[limit]{};
void citire(){
fin>>n>>m;
for(int i=1;i<=m;i++){
fin>>a>>b;
G[a].push_back(b);
grad[b]++;
}
}
void sortarerecursiva(int a)
{
solutie.push_back(a);
viz[a]=true;
for(auto j:G[a])
{
if(viz[j]==0)
{
sortarerecursiva(j);
}
}
}
int main()
{citire();
for(int i=1;i<=n;i++){
if(viz[i]==0)
sortarerecursiva(i);
}
for(auto x:solutie){
fout<<x<<" ";
}
fin.close();
fout.close();
return 0;
}