Pagini recente » Cod sursa (job #1602052) | Cod sursa (job #1723725) | Cod sursa (job #2492583) | Cod sursa (job #1296322) | Cod sursa (job #2980861)
#include <fstream>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int N,M,A[101][101],V[101],nr;
void constr()
{
in>>n>>m;
int x,y;
while(in>>x>>y)
A[x][y]=A[y][x]=1;
}
void dfs(int k,int val)
{
V[k]=val;
for(int i=1;i<=N;i++)
if(V[i]==0 && A[k][i]==1)
dfs(i,val);
}
void conex()
{
for(int i=1;i<=N;i++)
if(V[i]==0)
{
nr++;
dfs(i,nr);
}
}
int main()
{
constr();
conex();
out<<nr;
}