Pagini recente » Cod sursa (job #3284384) | Cod sursa (job #2795457) | Cod sursa (job #1368888) | Cod sursa (job #519257) | Cod sursa (job #457308)
Cod sursa(job #457308)
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;
p = new nod;
p -> inf = val;
p -> urm = prim;
prim = p;
}
void citire()
{
fin>>n>>m;
int i, x, y;
for (i = 1; i <= m; i++)
{
fin>>x>>y;
add(v[x], y);
add(v[y], x);
}
}
void dfs(int x)
{
nod * p;
s[x] = 1;
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++;}
fout<<nr<<"\n";
return 0;
}