Pagini recente » Borderou de evaluare (job #3327821) | Cod sursa (job #1286695) | Borderou de evaluare (job #2481451) | Cod sursa (job #3230892) | Cod sursa (job #3348947)
#include<bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,i,a,b;
vector<int>graf[50001];
int gr[50001];
bool vizitat[50001];
vector<int>sorttop;
void dfs(int nod)
{
vizitat[nod]=true;
for(int i=0;i<graf[nod].size();i++)
{
if(!vizitat[graf[nod][i]])
{
dfs(graf[nod][i]);
}
}
sorttop.push_back(nod);
}
int main()
{
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>a>>b;
graf[a].push_back(b);
}
/*for(i=1;i<=n;i++)
{
vizitat[i]=false;
}*/
for(i=1;i<=n;i++)
{
if(!vizitat[i])
dfs(i);
}
reverse(sorttop.begin(),sorttop.end());
for(i=0;i<sorttop.size();i++)
g<<sorttop[i]<<" ";
return 0;
}