Pagini recente » Cod sursa (job #51290) | Cod sursa (job #2405693) | Cod sursa (job #2407147) | Cod sursa (job #2772264) | Cod sursa (job #3220965)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
const int n_max=100000;
vector<vector<int>> graph;
bool vis[n_max+1];
void dfs(int node)
{
vis[node]=true;
for(int vecin : graph[node])
if(!vis[vecin])
dfs(vecin);
}
int main()
{
int n,m;
fin>>n>>m;
graph.resize(n+1);
for(int i=1;i<=n;i++)
{
int a,b;
fin>>a>>b;
graph[a].push_back(b);
graph[b].push_back(a);
}
int cnt=0;
for(int i=1;i<=n;i++)
{
if(!vis[i])
{
dfs(i);
cnt++;
}
}
fout<<cnt;
return 0;
}