Pagini recente » Cod sursa (job #2877685) | Cod sursa (job #2146083) | Cod sursa (job #1318402) | Cod sursa (job #121562) | Cod sursa (job #2117487)
#include <iostream>
#include <fstream>
#include <vector>
#define MAX 100001
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m, c;
vector < int > v[MAX];
int viz[MAX];
void read()
{
f>>n>>m;
int x, y;
for(int i=1; i<=m; i++)
{
f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
}
void dfs(int nod)
{
viz[nod]=1;
for(size_t it=0; it<v[nod].size(); it++)
{
if(viz[v[nod][it]]==0 && v[nod][it]!=nod)
{
dfs(v[nod][it]);
}
}
}
void afis()
{
for(int j=1; j<=n; j++)
{
cout<<j<<": ";
for(int i=0; i<v[j].size(); i++)
cout<<v[j][i]<<" ";
cout<<endl;
}
}
int main()
{
read();
for(int i=1; i<=n; i++)
if(viz[i]==0)
{
c++;
dfs(i);
}
g<<c;
return 0;
}