AC题解|A92417
2026-10-11 17:30:26
发布于:浙江
1阅读
0回复
0点赞
运用到了图的存储等
自己看
#include<bits/stdc++.h>
using namespace std;
vector<int>a[111111];
int n,m;
int v[11111111];
void dfs(int x){
v[x]=1;
for(int i=0;i<a[x].size();i++){
int y=a[x][i];
if(v[y]==0) dfs(y);
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
int u,v;
cin>>u>>v;
a[u].push_back(v);
a[v].push_back(u);
}
int sum=0;
for(int i=1;i<=n;i++){
if(v[i]==0){
dfs(i);
sum++;
}
}
cout<<sum-1;
}
这里空空如也








有帮助,赞一个