Cod sursa(job #2382401)

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

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

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

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

void dfs(int x){
	viz[x]=1; 
	lista r=a[x];
	while(r){
		if (viz[r->nr]==0) dfs(r->nr);
		r=r->next;
	}	
}

int main(){
	ifstream cin("dfs.in");
	ofstream cout("dfs.out");
cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		add(a[x],y);
		add(a[y],x);
	}

int l=0;
	for(int i=1;i<=n;i++) 
		if (viz[i]==0){
			dfs(i); 
			l++;
		}
 cout<<l;
}