HDU 5631 Rikka with Graph(并查集)
来源:互联网 发布:官网seo 编辑:程序博客网 时间:2024/05/19 16:33
大意:有n个点n+1条边,问删边并且使图联通。
思路:并查集盘联通,注意就是最多删两条边。(不能建完图在删边,所以,要删的边一定是要建的图,枚举所有的即可)
#include<map>#include<queue>#include<cmath>#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>#define LL __int64#define inf 0x3f3f3f3fconst double PI=acos(-1.0);using namespace std;int f[500],mp[500][500];struct node{ int a,b;}q[500];int fi(int x){ return x==f[x]?x:f[x]=fi(f[x]);}void mer(int a,int b){ int x=fi(a); int y=fi(b); if(x>y){ f[x]=y; } else f[y]=x;}int main(){ int n,m,i,j,k,cla; scanf("%d",&cla); while(cla--){ //memset(mp,0,sizeof(mp)); scanf("%d",&n); for(i=0;i<=n;i++){ scanf("%d%d",&q[i].a,&q[i].b); } int ans=0; int x,y; for(i=0;i<=n;i++){ for(j=i;j<=n;j++){ for(k=1;k<=n;k++) f[k]=k; for(k=0;k<=n;k++){ if(k==i||k==j) continue; mer(q[k].a,q[k].b); //printf("%d %d\n",q[k].a,q[k].b); } int tmp=0; for(k=1;k<=n;k++){ if(f[k]==k) tmp++; //printf("%d %d\n",k,f[k]); } if(tmp==1) ans++; } } printf("%d\n",ans); } return 0;}
1 0
- HDU 5631 Rikka with Graph(并查集)
- HDU 5631 Rikka with Graph (并查集)
- hdu 5631 Rikka with Graph(并查集)
- hdu 5631 Rikka with Graph(并查集)
- hdu 5631 Rikka with Graph(并查集+枚举)
- HDU 5631 Rikka with Graph(并查集)
- 并查集-HDU-5631-Rikka with Graph
- hdu 5631 Rikka with Graph(并查集)
- HDU Problem 5631 Rikka with Graph【并查集】
- HDU 5631 Rikka with Graph 并查集
- hdu 5631 Rikka with Graph【并查集】
- HDU Rikka with Graph (并查集+枚举)
- Rikka with Graph(并查集)
- hdoj Rikka with Graph 5631 (并查集)
- HDU 5631 (BestCoder Round #73 (div.1) 1001)Rikka with Graph(并查集)
- HDU5631--Rikka with Graph--并查集
- HDOJ 5631 Rikka with Graph(并查集)
- hdoj 5631 Rikka with Graph 【并查集】
- Codeforces Group Projects dp
- HDU 1069 Monkey and Banana(dp)
- AC自动机
- GitHub连击500天:让理想的编程成为习惯
- C与C++比较新增功能大全(完善中)
- HDU 5631 Rikka with Graph(并查集)
- 自定义用户注册生日键盘(封装)2
- google java 编写规范
- OpenJudge百炼习题解答(C++)--题2000:金币
- 随机验证码
- 超全!整理常用的iOS第三方资源
- HDU 4730 We Love MOE Girls (2013成都网络赛,签到水题)
- java自定义注解学习
- HDU 1176 —— 免费馅饼