Pagini recente » Cod sursa (job #1769121) | Cod sursa (job #612997) | Cod sursa (job #3138269) | Cod sursa (job #2660883) | Cod sursa (job #755335)
Cod sursa(job #755335)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector<int>a[100001];
int n,m,viz[100001],sol;
void read();
void solve(int);
int main()
{
read();
for (int i=1;i<=n;i++)
if (!viz[i]){solve(i);sol++;}
g<<sol<<'\n';
f.close();g.close();
return 0;
}
void read()
{
f>>n>>m;
for (int i=1;i<=m;i++)
{
int l,c;f>>l>>c;
a[l].push_back(c);
a[c].push_back(l);
}
}
void solve(int p)
{
queue <int> que;
que.push(p);viz[p]=1;
while (!que.empty())
{
int aux=que.front();que.pop();
for (int i=0;i<a[aux].size();i++)
if (!viz[a[aux][i]])
{
viz[a[aux][i]]=1;
que.push(a[aux][i]);
}
}
}