zoukankan
html css js c++ java
HDU1829 A Bug's Life 并查集
/* HDU1829A Bug's Life 并查集的应用 这题不是判断是否在同一集合,而是判断是否在不同的集合 */ #include <iostream> #include "UFS.h" using namespace std; int oppo[MAXN];//记录系第一个BUG的异性所在的集合的编号 int main() { int t; int n,m,i,j; UFS ufs; scanf("%d",&t); for(j=1;j<=t;j++) { bool f=0; memset(oppo, 0, sizeof(oppo)); ufs.clear(); scanf("%d%d",&n,&m); for(i=0;i<m;i++) { int a,b; scanf("%d%d",&a,&b); int x = ufs.Find(a), y = ufs.Find(b); if(x==y)f=1;//如果在同一集合,肯定是Suspicious bugs else //如果在不同集合,就把对方加入自己的异性集合 { int min,p,q; //如果自己的异性集合为空 if(oppo[x]==0) oppo[x]=y; //如果自己的异性集合不为空 else ufs.Union(y, oppo[x]); if(oppo[y]==0) oppo[y]=x; else ufs.Union(x, oppo[y]); } } printf("Scenario #%d:\n",j); if(f)printf("Suspicious bugs found!\n"); else printf("No suspicious bugs found!\n"); if(i!=t)printf("\n"); } return 0; }
查看全文
相关阅读:
3.5——课题选择
3.8——K-th Substring
01背包dp
贪心——IQ
Secret Project Gym
快速幂&矩阵快速幂
用栈非递归实现fib数列
CodeForces Round #590 (Div 3)
SQL Server常见问题
SQL基础函数
原文地址:https://www.cnblogs.com/windmissing/p/2559867.html
最新文章
二进制枚举
圆排列公式
计算多边形面积
International Collegiate Programming Contest 2019 Latin American Regional Contests Problem K
矩阵快速幂 优化dp 模板
floyd 传递闭包 POJ
带权并查集 模板 HDU
线段树模板
基础dp Max Subsring Plus HDU-1024 最大字串升级版之最大多字串(滚动数组中的倒序细节)
组合数 (选定思想) dp cf1000D
热门文章
状压dp CodeForces
线性dp+离散化 POJ
状压dp (记录路径) 做家庭作业 HDU
折半枚举(超大背包)2019牛客多校第九场 D题 组合总和为sum
简单数学题
count(矩阵快速幂)
鸽子数(快乐数)
求组合数
货币系统问题
背包
Copyright © 2011-2022 走看看