2014新生暑假个人排位赛06 D. 爱好和平
来源:互联网 发布:加工中心仿真软件下载 编辑:程序博客网 时间:2024/05/21 10:25
D. 爱好和平
时间限制 1000 ms内存限制 65536 KB
题目描述
在星际时代,每个帝国都靠着贸易路线连接着各个联盟星球,这些贸易路线都是双向可达的。一个帝国的综合实力由他贸易连接着的联盟星球数决定。
学姐作为Mays帝国的领袖,长期与Luke帝国保持着敌对关系,爱好和平的学姐希望结束长达几个世纪的战争,于是找实验室定做了一颗代号小苹果的炸弹,可以定点摧毁一颗星球,这颗星球被毁后,与它相连的全部贸易就都被切断了,这样Luke帝国可能就被切断为一个小联盟,他们就再也不会对学姐的地位构成威胁啦~
经过调查,Luke帝国为了节约经费,他的联盟星之间都有且仅有一条直接或间接的贸易通路。
现在给出Luke帝国的贸易线路,学姐想知道摧毁哪一颗行星可以使得分裂后的若干Luke联盟威胁最大的分部最小。
输入格式
输入有多组数据,组数不大于10组。每一组开头一行为n,m,表示Luke帝国的联盟星球数量,和贸易关系数,接下来m行,每行两个整数u,v,表示星球u,v之间存在直接的贸易路线,1<=u,v<=n,1<=n,m<=100000
输出格式
输出一个数表示推荐学姐摧毁的星球,如果有多解,输出编号最小的一个。
输入样例
5 41 21 31 44 5
输出样例
1
求出去掉哪一个点,剩下的联通块里最大的块尽可能的小。
树型DP之类的,还是dfs之类的,都行,求出去掉每个点之后剩下的最大的联通块的大小,然后找到最小的即可
#include<cstdio>#include<iostream>#include<cstring>#include<cstdio>#include<vector>#define N 100500#define inf 999999999using namespace std;vector<int>G[N];int n,m,sum[N],f[N];void dfs(int u,int fa){ sum[u]=1;f[u]=fa; for(int i=0;i<G[u].size();i++){ int v=G[u][i]; if(v==fa)continue; dfs(v,u); sum[u]+=sum[v]; }}int main(){ while(scanf("%d%d",&n,&m)!=EOF){ int u,v,i,j,k; for(i=1;i<=n;i++)G[i].clear(); for(i=0;i<m;i++){ scanf("%d%d",&u,&v); G[u].push_back(v);G[v].push_back(u); } long long ans=inf,num; dfs(1,-1); for(u=1;u<=n;u++){ int tmp=0; for(i=0;i<G[u].size();i++){ v=G[u][i]; if(v==f[u])continue; tmp=max(sum[v],tmp); } tmp=max(tmp,n-sum[u]); if(tmp<ans){ans=tmp;num=u;} } printf("%d\n",num); } return 0;}
0 0
- 2014新生暑假个人排位赛06 D. 爱好和平
- 2014新生暑假个人排位赛06 -444. 爱好和平 (数组模拟邻接表+dfs)
- 2014新生暑假个人排位赛06
- 7.25-2014新生暑假个人排位赛06
- 2014新生暑假个人排位赛01 D. BLOCKS
- 2014新生暑假个人排位赛02 D. 学姐逗学弟
- 2014新生暑假个人排位赛05 D. Fibnacci
- BOJ 2014新生暑假个人排位赛06 整合
- 2014新生暑假个人排位赛06 A.修路
- 2014新生暑假个人排位赛06 C. 排序
- BUPT2014新生暑假个人排位赛06
- BUPT 2014新生暑假个人排位赛01
- BUPT 2014新生暑假个人排位赛02
- 【总结】2014新生暑假个人排位赛03
- 【总结】2014新生暑假个人排位赛02
- 【总结】2014新生暑假个人排位赛01
- BUPT 2014新生暑假个人排位赛03
- 7.14-2014新生暑假个人排位赛01
- 关于单例模式的总结
- LeetCode-Binary Tree Preorder Traversal
- 黑马笔记2:网络编程
- SQL Server 2008安装时服务器配置出错
- mybatis 的字符串替换即#{}与${}的区别
- 2014新生暑假个人排位赛06 D. 爱好和平
- Java-网络编程(UDP-键盘录入方式数据)
- 排名问题
- Java-网络编程(UDP-聊天)
- Java中抽象类、接口、包的文档练习
- Java-网络编程(TCP传输)
- EF使用延迟加载的本质原因
- 数据结构笔记之顺序栈
- Java-网络编程(TCP传输2)