Pagini recente » Cod sursa (job #2647319) | Cod sursa (job #2189776) | Cod sursa (job #899103) | Cod sursa (job #307656) | Cod sursa (job #513101)
Cod sursa(job #513101)
#include <iostream.h>
#include <fstream.h>
char a[1000][1000];
int v[1000], 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);
}