Pagini recente » Cod sursa (job #146992) | Cod sursa (job #1863914) | Cod sursa (job #1769030) | Cod sursa (job #1453565) | Cod sursa (job #2796148)
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
unordered_map<int,bool> viz;
void dfs( int n, vector<vector<int>> mat )
{
viz[n]=true;
for(int a : mat[n])
if(!viz[a])
dfs(a,mat);
}
int n,m;
int main() {
f >> n >> m ;
vector<vector<int> > mat(n + 1);
for (int i = 0; i < m; ++i) {
int a, b;
f >> a >> b;
mat[a].push_back(b);
mat[b].push_back(a);
}
int nr= 0 ;
for(int i=1 ; i <= n ; ++i)
if(!viz[i])
{
dfs(i,mat);
nr++;
}
g<<nr;
return 0;
}