Pagini recente » Cod sursa (job #2934351) | Cod sursa (job #1005432) | Cod sursa (job #1769695) | Cod sursa (job #1660345) | Cod sursa (job #1909480)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin("bfc.in");
ofstream fout("bfc.out");
int viz[100001],p;
queue<int> coada;
vector<int> v[100001];
void BFC(int k)
{
coada.push(k);
while(!coada.empty())
{
p=coada.front();
viz[p]=1;
for(int i=0;i<v[p].size();i++)
{
if(!viz[v[p][i]])
{
coada.push(v[p][i]);
}
}
coada.pop();
}
}
int main()
{
int n,m,a,b,nr=0;
fin>>n>>m;
for(int i=1;i<=m;i++)
{
fin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
for(int i=1;i<=n;i++)
{
if(!viz[i])
{
nr++;
BFC(i);
}
}
fout<<nr;
return 0;
}