Pagini recente » Cod sursa (job #2481937) | Cod sursa (job #2765285) | Cod sursa (job #2855769) | Cod sursa (job #65040) | Cod sursa (job #798738)
Cod sursa(job #798738)
#include <fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m, viz[100005], cnt;
struct nod
{
int inf;
nod *adr;
} *v[100005];
void citire()
{
f>>n>>m;
int i, x, y;
for (i = 1; i <= m; i++)
{
f>>x>>y;
nod *p = new nod;
p -> inf = y;
p -> adr = v[x];
v[x]=p;
p = new nod;
p -> inf = x;
p -> adr = v[x];
v[y]=p;
}
}
void DFS(int x)
{
viz[x]=1;
for (nod *p = v[x]; p != NULL; p = p -> adr) if (!viz[p -> inf]) DFS(p -> inf);
}
int main()
{
citire();
int i;
for (i = 1; i <= n; i++) if (!viz[i]) { cnt++; DFS(i);}
g<<cnt;
return 0;
}