Pagini recente » Cod sursa (job #2942269) | Cod sursa (job #968025) | Cod sursa (job #893162) | Cod sursa (job #1270949) | Cod sursa (job #2658812)
//#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+1);
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(i=1;i<=n;i++)
if(vf[i]==0)
vf[i]=3;
/*for(j=1;j<v.size(); j++)
{
out<<j<<':';
for(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;
in.close();
out.close();
return 0;
}