Pagini recente » Cod sursa (job #450039) | Cod sursa (job #2245332) | Cod sursa (job #579321) | Cod sursa (job #2713794) | Cod sursa (job #2458473)
#include <bits/stdc++.h>
#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)
{
viz[a]=true;
for(auto j:G[a])
{
if(viz[j]==0)
{
sortarerecursiva(j);
}
}
solutie.push_back(a);
}
int main()
{citire();
for(int i=1;i<=n;i++){
if(viz[i]==0)
sortarerecursiva(i);
}
reverse(solutie.begin(),solutie.end());
for(auto x:solutie){
fout<<x<<" ";
}
fin.close();
fout.close();
return 0;
}