Pagini recente » Cod sursa (job #852197) | Cod sursa (job #2896566) | Cod sursa (job #1481799) | Cod sursa (job #2821245) | Cod sursa (job #3219477)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define MaxN 100002
vector<int> graph[MaxN];
int marked[MaxN];
void add(int a, int b)
{
graph[a].push_back(b);
graph[b].push_back(a);
}
void dfs(int nod)
{
marked[nod]=1;
for(int i: graph[nod])
{
if(marked[i]==0) dfs(i);
}
}
int main()
{
ifstream in("dfs.in");
ofstream out("dfs.out");
int n, m, i, j, a, b, cnt=0;
in>>n>>m;
for(i=0; i<m; i++)
{
in>>a>>b;
add(a, b);
}
for(i=1; i<=n; i++)
{
if(marked[i]==0) { dfs(i); cnt++;}
}
out<<cnt;
return 0;
}