Pagini recente » Cod sursa (job #2551229) | Cod sursa (job #2106962) | Cod sursa (job #294861) | Cod sursa (job #2248445) | Cod sursa (job #513091)
Cod sursa(job #513091)
#include <iostream.h>
#include <fstream.h>
int a[100][100], v[100], N,M,nr1,nr2,i,nc;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
void df(int, int);
int main() {
fin>>N>>M;
for (i=1;i<=M;i++) {
fin>>nr1>>nr2;
a[nr1][nr2]=a[nr2][nr1]=1;
}
fin.close();
for (i=1;i<=N;i++)
if (v[i]==0) {
nc++;
df(i,nc);
}
fout<<nc;
fout.close();
}
void df(int x, int k) {
v[x]=k;
for (int i=1;i<=N;i++)
if (a[x][i]==1 && v[i]==0)
df(i,k);
}