Pagini recente » Cod sursa (job #405701) | Cod sursa (job #719151) | Cod sursa (job #373733) | Cod sursa (job #13984) | Cod sursa (job #679725)
Cod sursa(job #679725)
#include<stdio.h>
#include<fstream>
#include<stdlib.h>
using namespace std;
typedef struct nod{int x; nod *urm;}NODE;
NODE *v[100005];
int n,m,viz[100005];
void citire()
{
ifstream f("dfs.in");
f>>n>>m;
NODE *q;
int x,y;
for(int i=1;i<=m;++i)
{
f>>x>>y;
q=(NODE*)malloc(sizeof(NODE));
q->x=y;
q->urm=v[x];
v[x]=q;
q=(NODE*)malloc(sizeof(NODE));
q->x=x;
q->urm=v[y];
v[y]=q;
}
}
void dfs(int nod)
{
if(viz[nod]) return;
viz[nod]=1;
NODE *q=v[nod];
while(q)
{
dfs(q->x);
q=q->urm;
}
}
int main()
{
citire();
int i,k;
for(i=1,k=0;i<=n;++i)
if(!viz[i]) { dfs(i); ++k; }
FILE*f=fopen("dfs.out","w");
fprintf(f,"%d",k);
fclose(f);
return 0;
}