Pagini recente » Cod sursa (job #1703789) | Cod sursa (job #3210870) | Cod sursa (job #1201577) | Cod sursa (job #1359288) | Cod sursa (job #928046)
Cod sursa(job #928046)
#include <fstream>
#include <list>
using namespace std;
ifstream f1("sortaret.in");
ofstream f2("sortaret.out");
list<int> G[100005];
bool viz[100005];
int N,M,V[100005],C=0;
void cit()
{
f1>>N>>M;
int a,b,i;
for (i=1;i<=M;i++)
{
f1>>a>>b;
G[a].push_back(b);
}
}
void dfs(int p)
{
viz[p]=1;
V[++C]=p;
list<int>:: iterator it;
for (it=G[p].begin();it!=G[p].end();++it)
if (!viz[*it])
dfs(*it);
}
void rez()
{
int i;
for (i=1;i<=N;i++)
if (!viz[i])
dfs(i);
for (i=1;i<=C;i++)
f2<<V[i]<<" ";
f2<<'\n';
}
int main()
{
cit();
rez();
f1.close();
f2.close();
return 0;
}