2017蓝桥杯模拟题 风险度量(暴力枚举)
来源:互联网 发布:灵枢针灸免费网络课 编辑:程序博客网 时间:2024/05/16 16:05
思路:由于数据范围比较小,所以直接枚举每一个点是否为关键点即可
代码:
#include<stdio.h>#define maxn 2000+10int pre[maxn],u[maxn],v[maxn];int n,m,x,y;void init(){ for(int i=1; i<=n; ++i) pre[i]=i;}int Find(int x){ if(x==pre[x]) return x; pre[x]=Find(pre[x]); return pre[x];}int linked(){ for(int i=0; i<m; ++i) { int fx=Find(u[i]),fy=Find(v[i]); if(fx!=fy) pre[fx]=fy; } int fx=Find(x),fy=Find(y); if(fx==fy) return 1; return 0;}int main(){ scanf("%d%d",&n,&m); for(int i=0; i<m; ++i) scanf("%d%d",&u[i],&v[i]); scanf("%d%d",&x,&y); if(!linked())//检查是否连通,不能连通直接结束 { printf("-1\n"); return 0; } int ans=0; for(int i=1; i<=n; ++i)//枚举每一个点 { if(i==x||i==y) continue; init(); for(int j=0; j<m; ++j) { if(u[j]==i||v[j]==i)//去除这个点所在的边 continue; int fx=Find(u[j]),fy=Find(v[j]); if(fx!=fy) pre[fx]=fy; } int fx=Find(x),fy=Find(y); if(fx!=fy) ans++; } printf("%d\n",ans); return 0;}
总结:蓝桥杯的题几乎每一道都能和暴力扯上关系,所以尽情地暴力吧!
1 0
- 2017蓝桥杯模拟题 风险度量(暴力枚举)
- 蓝桥杯2017官方模拟题 风险度量(并查集,暴力)
- 蓝桥杯2017模拟题-风险度量
- 2017 蓝桥杯模拟 风险度量
- 2017蓝桥杯模拟 风险度量(并查集)
- 蓝桥杯2017模拟赛-风险度量
- 蓝桥杯模拟赛2017 风险度量
- 2017蓝桥杯模拟赛 Problem G: 风险度量(40分)
- 蓝桥杯-2017模拟赛本科试题-风险度量
- 2017蓝桥杯官方模拟赛 猜数字(暴力枚举)
- 蓝桥杯模拟赛--风险度量--并查集
- 蓝桥杯 风险度量
- CodeForces612AThe Text Splitting(模拟,暴力枚举)
- 风险度量
- 风险度量
- ZOJ3710 Friends(暴力枚举,模拟)
- 2017蓝桥杯模拟题 滑动解锁(暴力DFS)
- UVA - 131 The Psychic Poker Player (暴力枚举+模拟)
- 类的加载和初始化总结
- 轻松理解js的函数和构造函数的区别
- ActiveMQ_JMX监测ActiveMQ中队列的状态
- format()使用学习
- Java_Timer
- 2017蓝桥杯模拟题 风险度量(暴力枚举)
- JQuery中"Uncaught ReferenceError: $ is not defined"解决方法
- Java_读取properties文件
- 面试答案
- Linux_>/dev/null
- Java_判断操作系统类型
- 2. RabbitMQ的几种典型使用场景
- Oracle存储过程被锁无法编译的解决
- 数组的基本运算(3)