Pagini recente » Cod sursa (job #660919) | Cod sursa (job #2020081) | Cod sursa (job #213381) | Cod sursa (job #684033) | Cod sursa (job #2658804)
//#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 i=1;i<=n;i++)
if(vf[i]==0)
vf[i]=3;
/*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);
else if(vf[i]==3)
out<<i;
return 0;
}