题面

这道题是一道标准的种类并查集:

种类并查集是给每个结点一个权值。然后在合并和查找的时候根据情况对权值来进行维护。

通过将原有的区间范围变大使并查集可以维护种类的联系:

#include <iostream>
#include <cstdio>
using namespace std;
int f[];
int zhaobaba(int x)
{
if(f[x]==x) return x;
return f[x]=zhaobaba(f[x]);
}
int main()
{
int T;
cin>>T;
int t=T;
while(t--){
int n,m;
cin>>n>>m;
for(int i=;i<=*n;i++) f[i]=i;
bool lala=;
for(int i=;i<=m;i++){
int u,v;
scanf("%d%d",&u,&v);
if(lala) continue;
if(zhaobaba(u)==zhaobaba(v)){
lala=;
continue;
}
f[zhaobaba(u)]=zhaobaba(v+n);
f[zhaobaba(u+n)]=zhaobaba(v);
}
cout<<"Scenario #"<<T-t<<":"<<endl;
if(!lala){
cout<<"No suspicious bugs found!"<<endl;
}
else{
cout<<"Suspicious bugs found!"<<endl;
}
cout<<endl;
}
}

最新文章

  1. Servlet、Filter、Listener、Interceptor
  2. HTML5+CSS3+Jquery实现纯手工的垂直时光轴【附源码】
  3. 《笨办法学C》笔记之指针
  4. Linux 命令执行结果输出到屏幕的同时写入到文件中
  5. MVC &ndash; 4.mvc初体验(1)
  6. ubuntu15.10 给解压版的eclipse安装桌面快捷方式
  7. js 操作select和option
  8. js中的垃圾回收机制
  9. javaScript动态参数
  10. 215. Kth Largest Element in an Array
  11. 2014第2周四部署环境&amp;买火车票
  12. 移动端-弹窗demo
  13. Java转型(向上转型和向下转型)
  14. 服务器大量的fin_wait1 状态长时间存在原因分析
  15. 第二周Python讲课内容--日记
  16. Android开发中Chronometer的用法
  17. Oracle 存储过程入门(一)
  18. 高可用集群(crmsh详解)http://www.it165.net/admin/html/201404/2869.html
  19. QT 登陆对话框
  20. linux支持的内存根文件系统

热门文章

  1. HTML的&lt;form&gt;表单标签
  2. LU分解法求逆矩阵 C语言实现
  3. react-router-dom 实现左侧导航
  4. 【nginx】 配置域名转发到相同地址不同端口下执行相应业务
  5. JavaScript 普通声明式函数
  6. vue一些注意事项
  7. 导入 kotlin(7)
  8. Git 合并两个分支内容
  9. SQLServer2012R2部署手册
  10. 5.Python使用模块