Pagini recente » Cod sursa (job #350871) | Cod sursa (job #501745) | Cod sursa (job #1019663) | Cod sursa (job #2896251) | Cod sursa (job #2658802)
//#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<vector<int> > v;
int vf[50001];
void dfs(int h)
{
out<<h<<' ';
for(int i=0;i<v[h].size(); i++)
if(vf[v[h][i]]==1)
{
vf[v[h][i]]=0;
dfs(v[h][i]);
}
}
int main()
{
int n,m,i,j;
in>>n>>m;
v.resize(n+2);
while(in>>i)
{
in>>j;
v[i].push_back(j);
vf[j]=1;
if(vf[i]!=1)
vf[i]=2;
if(vf[j]==2)
vf[i]=1;
}
/*for(int j=1;j<v.size(); j++)
{
out<<j<<':';
for(int i=0;i<v[j].size(); i++)
out<<v[j][i]<<' ';
out<<'\n';
}*/
for(int i=1; i<=n; i++)
if(vf[i]==2)
dfs(i);
return 0;
}