Pagini recente » Cod sursa (job #273031) | Cod sursa (job #3320227) | Cod sursa (job #3333432) | Cod sursa (job #3316891) | Cod sursa (job #3322213)
#include <iostream>
#include <fstream>
#include <vector>
#include <fstream>
using namespace std;
ifstream fin ("graf.in");
ofstream fout("graf.out");
vector<vector<int>> graf;
vector<int> viz;
void dfs(int x)
{
viz[x] = 1;
for(auto &i : graf[x])
if(viz[i] == 0)
dfs(i);
}
int main()
{
int N,M;
fin>>N>>M;
graf.resize(N+1);
viz.assign(N+1, 0);
for(int i=1; i<=M; i++)
{
int X,Y;
fin>>X>>Y;
graf[X].push_back(Y);
graf[Y].push_back(X);
}
int nr = 0;
for(int i=1; i<=N; i++)
{
if(viz[i] == 0)
{
dfs(i);
nr++;
}
}
fout<<nr;
return 0;
}