Cod sursa(job #2384525)

Utilizator JarvisAdrian Petrusca Jarvis Data 20 martie 2019 20:30:47
Problema Parcurgere DFS - componente conexe Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include<iostream>
#include<fstream>
#include<vector>

    using namespace std;
    
vector <int> list[100010];
int n, m, x, y;
bool visit[100010];
int result;

void dfs (int node)
{
	visit[node] = 1;
	for (int i = 0; i < list[node].size(); i++)
	    if (!visit[list[node][i]]) 
		   dfs(list[node][i]);
}

int main () 
{	
    ifstream cin("dfs.in");
	ofstream cout("dfs.out");
    
	cin >> n >> m;
	
	for (int i = 0; i < m; i++)
	{
		cin >> x >> y;
		list[x].push_back(y);
		list[y].push_back(x);
	}
	
	for (int i = 0; i < n; i++)
	{
	    if (!visit[i])
	    {
	    	dfs(i);
	    	result++;
		}
	}
	cout << result;
	return 0;
}