Pagini recente » Cod sursa (job #811983) | Cod sursa (job #2174944) | Cod sursa (job #1521746) | Cod sursa (job #1438869) | Cod sursa (job #1003329)
/*
Depth first - parcurgerea in adancime
*/
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int a[50][50],n,s[50];
void in_graf()
{
int i,j,dump;
in>>n>>dump;
while(in>>i>>j) a[i][j]=a[j][i]=1;
in.close();
}
void DF(int nod)
{
int k;
s[nod]=1;
for(k=1;k<=n;k++)
if(a[nod][k]==1 && s[k]==0) DF(k);
}
int main()
{
int cont = 0;
in_graf();
for(int i=1;i<=n;i++)
if(s[i]==0)
{
cont++;
DF(i);
}
cout<<cont;
return 0;
}