Pagini recente » Cod sursa (job #302177) | Cod sursa (job #61605) | Cod sursa (job #314478) | Cod sursa (job #1081422) | Cod sursa (job #2662360)
#include <iostream>
#include <list>
#include <fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
void dfs(int start, list<int> ad[],int visited[])
{
visited[start] = 1;
for(auto &child : ad[start])
{
if(visited[child] == 0)
dfs(child,ad,visited);
}
}
int main()
{
int n,m,start;
fin>>n>>m;
list <int> ad[n+1];
for(int i = 0; i < m; i ++)
{
int x,y;
fin >> x >> y;
ad[x].push_back(y);
ad[y].push_back(x);
}
int visited[n+1]= {0};
int comp = 0;
for(int i=1; i<=n; i++)
if(visited[i] == 0)
{
start = i;
comp++;
dfs(start,ad,visited);
}
fout<<comp;
return 0;
}