1013 Battle Over Cities (25 分) 【难度: 中 / 知识点: 连通块】
知识点 25 Over 难度 连通
2023-09-11 14:15:52 时间
https://pintia.cn/problem-sets/994805342720868352/problems/994805500414115840
将这些连通块,连接起来最少的边,即是答案。
将n个点连接,最少需要(n-1)条边,故本题答案即为连通块的数量-1
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
vector<int>ve[N];
int n,m,k,st[N];
void dfs(int u)
{
st[u]=1;
for(int i=0;i<ve[u].size();i++) if(!st[ve[u][i]]) dfs(ve[u][i]);
}
int main(void)
{
cin>>n>>m>>k;
for(int i=0;i<m;i++)
{
int a,b; cin>>a>>b;
ve[a].push_back(b);
ve[b].push_back(a);
}
for(int i=0;i<k;i++)
{
memset(st,0,sizeof st);
int s; cin>>s;
st[s]=1;//将选的点,提前标记
int cnt=0;
for(int i=1;i<=n;i++)
{
if(!st[i]) cnt++,dfs(i);
}
cout<<cnt-1<<endl;
}
return 0;
}
相关文章
- HTML/HTML5 知识点思维导图
- WPF实用知识点
- JAVA集合泛型,类型擦除,类型通配符上限之类的知识点
- 前端基础知识点:JS中的参数传递详解
- atitit 编程语言选型知识点体系.docx 编程语言选型时,你需要考虑的几个方面 目录 1. 1.2. 类型系统51 2. 1.5. 语言规范251 3. 1.6. 编程范式52
- Atitit 图像处理知识点 知识体系 知识图谱v2
- AUC/ROC:面试中80%都会问的知识点
- Java进阶 - 易错知识点整理
- FreeMarker模板开发指南知识点梳理
- WPF 知识点总结
- 【WEB前端进阶之路】 HTML 全路线学习知识点梳理(中)
- 操作系统核心知识点整理--进程篇
- 2023前端面试重点知识点总结【详细】css+js+vue+react+小程序+性能优化等等
- Python开发知识点总结之Python字符与字节新编