Pagini recente » Cod sursa (job #1613294) | Cod sursa (job #3145014) | Cod sursa (job #2450451) | Cod sursa (job #1616701) | Cod sursa (job #2793365)
#include<bits/stdc++.h>
using namespace std;
ifstream in ("dfs.in");
ofstream out ("dfs.out");
vector<int> adj[100005];
unordered_map<int,bool> visited;
void addEdge(vector<int> adj[], int u, int v)
{
adj[u].push_back(v);
adj[v].push_back(u);
//cout<<u<<" "<<v<<endl;
}
void DFS(int v)
{
visited[v] = true;
//cout << v << " ";
for (int i = 0; i < adj[v].size(); ++i)
if (!visited[adj[v][i]])
DFS(adj[v][i]);
}
int main()
{
int n,m,prev,cur;
in>>n;
in>>m;
for(int i=1; i<=m; i++)
{
int a,b;
in>>a>>b;
addEdge(adj,a,b);
}
int ct=0;
for(int i=1; i<=n; i++)
{
if(visited[i] == 0)
{
DFS(i);
ct++;
}
}
out<<ct;
return 0;
}