Pagini recente » Cod sursa (job #2792445) | Cod sursa (job #1227873) | Cod sursa (job #594538) | Cod sursa (job #3170184) | Cod sursa (job #457652)
Cod sursa(job #457652)
using namespace std;
#include <fstream>
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n, m, s[100005], nr;
struct nod
{
int inf;
nod *urm;
} * v[100005];
void add(nod *&prim, int val)
{
nod * p, *q;
p = new nod;
p -> inf = val;
p -> urm = NULL;
if (prim)
{
for(q=prim;q->urm;q=q->urm);
q->urm=p;
}
else
prim=p;
}
void citire()
{
fin>>n>>m;
int i, x, y;
for (i = 1; i <= m; i++)
{
fin>>x>>y;
add(v[x], y);
}
}
void dfs(int x)
{
nod * p;
s[x] = 1; fout<<x<<" ";
for (p = v[x]; p != NULL; p = p -> urm) if (!s[p -> inf]) dfs(p -> inf);
}
int main()
{
citire();
for (int i = 1; i <= n; i++)
if (!s[i])
{ dfs(i);nr++;}
return 0;
}