Pagini recente » Cod sursa (job #1726520) | Cod sursa (job #1816552) | Cod sursa (job #474642) | Cod sursa (job #286096) | Cod sursa (job #2795615)
#include<bits/stdc++.h>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
vector<int> lista_adiacenta[100001];
unordered_map<int,bool> vector_vizitat;
void adaugare_muchie(vector<int> lista_adiacenta[], int u, int v)
{
lista_adiacenta[u].push_back(v);
lista_adiacenta[v].push_back(u);
}
void dfs(int x)
{
vector_vizitat[x] = true;
for (int i=0; i<lista_adiacenta[x].size(); ++i)
if (vector_vizitat[lista_adiacenta[x][i]]==0)
dfs(lista_adiacenta[x][i]);
}
int main()
{
int n,m,comp_conexe=0;
fin>>n>>m;
for(int i=1; i<=m; i++)
{
int a,b;
fin>>a>>b;
adaugare_muchie(lista_adiacenta,a,b);
}
dfs(1);
comp_conexe=1;
for(int i=2; i<=n; i++)
if(vector_vizitat[i] == 0)
{
dfs(i);
comp_conexe++;
}
fout<<comp_conexe;
return 0;
}