Pagini recente » Cod sursa (job #3366530) | Cod sursa (job #3366537) | Cod sursa (job #3366531) | Cod sursa (job #3364953) | Cod sursa (job #3364791)
#include <iostream>
#include <fstream>
#include <map>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
map <int, vector<int>> lista;
bool used[101];
vector <vector<int>> connected;
void dfs(int k, vector<int>&component)
{
used[k]=true;
component.push_back(k);
for(auto i : lista[k])
{
if(used[i]==false)
dfs(i, component);
}
}
int main()
{
int n, m;
int a, b;
fin>>n>>m;
for(int i=1; i<=m; i++)
{
fin>>a>>b;
lista[a].push_back(b);
lista[b].push_back(a);
}
for(int i=1; i<=n; i++)
{
if(used[i]==false)
{
vector<int>component;
dfs(i, component);
connected.push_back(component);
}
}
fout<<connected.size();
return 0;
}