Pagini recente » Cod sursa (job #3283922) | Cod sursa (job #2652417) | Cod sursa (job #908687) | Cod sursa (job #1499172) | Cod sursa (job #2792902)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ifstream f("dfs.in");
ofstream g("dfs.out");
class Graph_Solver
{
int n, m;
vector<vector<int> > v;
map<int, int> visited;
map<int, int> dist;
public:
void dfs(int nod)
{
visited[nod] = 1;
for(auto x : v[nod])
if(visited.find(x) == visited.end())
dfs(x);
}
void bfs(int nod)
{
}
void citire()
{
f >> n >> m;
v.resize(n+1);
for(int i = 1; i <= m; ++i)
{
int a, b;
f >> a >> b;
v[a].push_back(b);
v[b].push_back(a);
}
}
int conex()
{
int ans = 0;
for(int i = 1; i <= n; ++i)
if(visited.find(i) == visited.end())
dfs(i), ++ans;
return ans;
}
};
Graph_Solver gr;
int main()
{
gr.citire();
g << gr.conex() << '\n';
return 0;
}