题目描述:http://poj.org/problem?id=1703

这是一道带偏移量的并查集问题,一点点小错误调了我好久,悲剧!奉献代码:

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int MAXN = 100000;
int N,M;bool deff[MAXN+10];
int p[MAXN+10];void init() //并查集初始化;
{for(int i=0; i<=N+1; i++){p[i]=i;deff[i]=0;}
}int find(const int & x)
{if(p[x]==x) return x;else{int px=find(p[x]);      //这里说明一下,deff[]这个数组我存的是不同的时候为0,相同的时候为1;对于在同一个并查集里面的两个元素,首先肯定是要找到当前节点的祖宗;我就是这里写错了一丁点,悲剧了deff[x]^=deff[p[x]];    //这里是判断它跟祖宗的关系;return p[x]=px;}
}void unionSet(const int & x,const int & y)
{int px=find(x);int py=find(y);if(px==py) return ;p[py]=px;deff[py]=(deff[x]==deff[y]);    //这里要说明,如果这两个元素的祖宗不同时,他们各自跟祖宗又都不同,那么,他们的祖宗也一定不是同一个帮派的,反之也是一样的。感觉还是没有说清楚,自己画画就知道了。return;
}int main()
{freopen("in.txt","r",stdin);int T;scanf("%d",&T);while(T--){scanf("%d%d",&N,&M);init();for(int i=0; i<M; i++){char ch[5];int x,y;scanf("%s%d%d",ch,&x,&y);if(ch[0]=='A'){int px=find(x);int py=find(y);if(px!=py)printf("Not sure yet.\n");    //不在一个集合就什么都不用说了啦!else if(deff[x]==deff[y]) printf("In the same gang.\n");else printf("In different gangs.\n");}else{unionSet(x,y);}}}return 0;
}

  

转载于:https://www.cnblogs.com/Chinese-Coder-Clarence/articles/2147411.html

ACM PKU1703 Find them, Catch them相关推荐

  1. 网内计算:可编程数据平面和技术特定应用综述

    网内计算:可编程数据平面和技术特定应用综述 摘要--与云计算相比,边缘计算提供了更靠近终端设备的处理,降低了用户体验的延迟.最新的In-Network Computing范例采用可编程网络元素在数据达 ...

  2. 使用阿里云配置管理ACM实现zookeeper依赖服务的透明Failover迁移

    使用阿里云配置管理ACM实现zookeeper依赖服务的透明Failover迁移 摘要:在访问依赖的服务过程中,我们通常会通过在程序或者配置文件中写死ip列表的形式来发现下游服务,但在下游服务集群出现 ...

  3. acm java_ACM Java Native SDK 概述

    示例代码 添加依赖后,即可在程序中使用 ACM Java Native SDK 提供的接口. 说明 请将代码中的 $regionId.$endpoint.$namespace.$accessKey.$ ...

  4. 牛客假日团队赛5 L Catch That Cow HDU 2717 (BFS)

    链接:https://ac.nowcoder.com/acm/contest/984/L 来源:牛客网 Catch That Cow 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 3 ...

  5. acm竞赛java很少,Java多线程在ACM竞赛中的应用

    欢迎转载,转载请注明出处. 转发注记:网上看到有少数人讨论过在ACM竞赛中使用多线程,但是在Online Judge上一般是不支持的.因为Online Judge都会限制CPU的使用权限,所以即使可以 ...

  6. ACM javaIO 快速 读写

    在这里先比较一下三种输入方式(这里从文件中读取): 第一种,Scanner类读取文件(in.txt,里面有从一到一百万的的整数) public class Main {public static vo ...

  7. 【模板】ACM Conference的Latex论文模板与说明

    转载请注明出处:小锋学长生活大爆炸[xfxuezhang.blog.csdn.net] 目录 cls文件说明 ACM会议论文模板 9pt和10pt模板 cls文件说明 原版文件链接:https://c ...

  8. ACM比赛经验、刷题记录及模板库总结(更新中)

    前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...

  9. acm java 快速读写,java_acm快速输入和输出

    平常我们在用java做acm题目的时候,都是用 Scanner cin = new Scanner(System.in); int num = cin.nextInt(); System.out.pr ...

最新文章

  1. Jprofiler监控工具(内存泄漏)
  2. 软件测试 homework2
  3. python爬虫取腾讯视频评论
  4. JZOJ 5776. 【NOIP2008模拟】小x游世界树
  5. 【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理
  6. vim配置c语言开发环境变量,gcc配置和vim编程
  7. Javascript ES6 Promise同步读取文件(使用async、await)
  8. 四窗口能分布到四台显示器上吗? 回答 Galactica 的提问
  9. LoadRunner 11简单使用
  10. Android网卡(Wifi/Lan)带宽测试
  11. 通用非即插即用监视器分辨率_为什么垂直分辨率监视器的分辨率通常是360的倍数?...
  12. 触类旁通:图形、图片、与表单控件
  13. 利用C#编写一个附和闭合导线平差程序
  14. 一文掌握机器学习算法工程师技术栈
  15. 联想笔记本插入耳机仍外放--解决方式
  16. Kubernetes网络插件(CNI)超过10Gbit/s网络的基准结果
  17. java枚举后面括号是什么意思_[Java] Java自定义枚举常量后括号的作用
  18. 2021年茶艺师(初级)报名考试及茶艺师(初级)实操考试视频
  19. 华为鸿蒙朱丹丹,周一围心疼老婆?朱丹二胎产后憔悴臃肿却忙复出:这一年太痛苦...
  20. 五、原型模式(Prototype Pattern)

热门文章

  1. oracle某个存过的执行时间,java – 为什么oracle存储过程的执行时间会大大增加,具体取决于它的执行方式?...
  2. csv与json互转_CSV文件转JSON
  3. 如何从服务器导出文件,如何从云服务器导出文件
  4. Shell(6)——if语句
  5. 16位汇编 call调用函数 通过栈来传递参数
  6. MFC的CWnd和HWND之间互相转换方法
  7. C语言面向对象编程(六):配置文件解析
  8. 从一百篇文章中总结出的需求分析四步法
  9. HDU - 1027 全排列
  10. 标准化条件变量 -- condition_variable