Pagini recente » Cod sursa (job #1003018) | Cod sursa (job #2181490) | Cod sursa (job #1258437) | Monitorul de evaluare | Cod sursa (job #493054)
Cod sursa(job #493054)
//latime
#include<stdio.h>
#include<string.h>
#define Nmax 1001
char G[Nmax][Nmax], viz[Nmax];
int coada[Nmax], N, M;
void latime(int nod) {
int j, st=1, dr=1;
coada[st]=nod; viz[nod]=1;
while(st<=dr) {
nod=coada[st];
for(j=1; j<=N; j++)
if(!viz[j] && G[nod][j]==1) {
coada[++dr]=j;
viz[j]=1;
}
//printf("%d ",coada[st++]);
}
//printf("\n");
}
int main() {
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int i, j, cnt=0;
scanf("%d %d",&N,&M);
while(M--) {
scanf("%d %d",&i,&j);
G[i][j]=G[j][i]=1;
}
for(i=1; i<=N; i++)
if(!viz[i])
latime(i),
++cnt;
printf("%d\n",cnt);
return 0;
}