Pagini recente » Cod sursa (job #1155040) | Cod sursa (job #2016996) | Monitorul de evaluare | Cod sursa (job #973321) | Cod sursa (job #1832392)
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <int> L[100005];
int v[100005],f[100005];
int n,m,a,b,sol,i;
void bfs(int x){
int p;
int u;
int i;
p=1;
u=1;
int k;
v[1]=x;
f[x]=1;
while(p<=u){
for(i=0;i<L[x].size();i++){
k=L[x][i];
if(f[k]==0){
f[k]=1;
u++;
v[u]=k;
}
}
p++;
}
}
int main(){
fin>>n>>m;
for(i=1;i<=m;i++){
fin>>a>>b;
L[a].push_back(b);
L[b].push_back(a);
}
sol=0;
for(i=1;i<=n;i++){
if(f[i]==0){
sol++;
bfs(i);
}
}
fout<<sol;
return 0;
}