Pagini recente » Cod sursa (job #2777697) | Cod sursa (job #16933) | Cod sursa (job #1278561) | Cod sursa (job #2647292) | Cod sursa (job #1501893)
#include<iostream>
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
ifstream intrare;
ofstream iesire;
bool viz[50001];
vector <int>G[50001];
int n,m,p,x,y,a[50001];
void dfs(int k)
{
viz[k]=1;
for(int i=0;i<G[k].size();i++)
if(viz[G[k][i]]==0)
dfs(G[k][i]);
a[++p]=k;
cout<<p<<" "<<k<<"\n";
}
int main()
{
intrare.open("sortaret.in");
intrare>>n>>m;
for(int i=0;i<m;i++)
{
intrare>>x>>y;
G[x].push_back(y);
}
intrare.close();
for(int i=0;i<50001;i++)
viz[i]=0;
for(int i=0;i<n;i++)
if(viz[i]==0)
dfs(i);
iesire.open("sortaret.out");
for(int i=p-1;i>=0;i--)
iesire<<a[i]<<" ";
iesire.close();
return 0;
}