Cod sursa(job #2382428)

Utilizator 88marin88Marin Marian 88marin88 Data 18 martie 2019 12:07:40
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;

typedef struct nod{
	int nr;
	nod *next;
} * lista;

lista p,r,A[200000];
bool viz[2000000];
int n, m, x, y, i, j, k=0;
//A[100][100],;

void add(lista &p, int a){
	r=new nod;
	r->nr=a;
	r->next=p;
	p=r;
}

void dfs ( int x){
	viz[x]=1; 
	for (lista p=A[x];p;p=p->next)
		if (viz[p->nr]==0) dfs (p->nr);
}

int main(){
	ifstream cin("dfs.in");
	ofstream cout("dfs.out");
	cin >>n>>m ; 
	while (m--){
		cin>>x>>y;
		add	(A[y],x);
		add (A[x],y);
	}
 
	for (i=1;i<=n;i++){
		if (viz[i]==0){
			dfs(i);
			k++;
		}
	}
	
	cout<<k;
}