Pagini recente » Diferente pentru utilizator/robertpoe intre reviziile 90 si 63 | Diferente pentru utilizator/indmium_ intre reviziile 6 si 7 | Diferente pentru utilizator/pak0 intre reviziile 2 si 1 | Diferente pentru utilizator/deiosx intre reviziile 6 si 5 | Cod sursa (job #2577658)
#include <bits/stdc++.h>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int x,y,n,m,nrc;
vector<int>v[100001];
bool viz[100001];
void dfs(int k)
{
viz[k]=1;
for(int i=0;i<v[k].size();++i)
if(!viz[v[k][i]])
dfs(v[k][i]);
}
int main()
{
f>>n>>m;
for(int i=1;i<=m;++i)
{
f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
for(int i=1;i<=n;++i)
if(!viz[i])
{
nrc++;
dfs(i);
}
g<<nrc;
return 0;
}