ACM PKU1703 Find them, Catch them
题目描述: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相关推荐
- 网内计算:可编程数据平面和技术特定应用综述
网内计算:可编程数据平面和技术特定应用综述 摘要--与云计算相比,边缘计算提供了更靠近终端设备的处理,降低了用户体验的延迟.最新的In-Network Computing范例采用可编程网络元素在数据达 ...
- 使用阿里云配置管理ACM实现zookeeper依赖服务的透明Failover迁移
使用阿里云配置管理ACM实现zookeeper依赖服务的透明Failover迁移 摘要:在访问依赖的服务过程中,我们通常会通过在程序或者配置文件中写死ip列表的形式来发现下游服务,但在下游服务集群出现 ...
- acm java_ACM Java Native SDK 概述
示例代码 添加依赖后,即可在程序中使用 ACM Java Native SDK 提供的接口. 说明 请将代码中的 $regionId.$endpoint.$namespace.$accessKey.$ ...
- 牛客假日团队赛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 ...
- acm竞赛java很少,Java多线程在ACM竞赛中的应用
欢迎转载,转载请注明出处. 转发注记:网上看到有少数人讨论过在ACM竞赛中使用多线程,但是在Online Judge上一般是不支持的.因为Online Judge都会限制CPU的使用权限,所以即使可以 ...
- ACM javaIO 快速 读写
在这里先比较一下三种输入方式(这里从文件中读取): 第一种,Scanner类读取文件(in.txt,里面有从一到一百万的的整数) public class Main {public static vo ...
- 【模板】ACM Conference的Latex论文模板与说明
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.blog.csdn.net] 目录 cls文件说明 ACM会议论文模板 9pt和10pt模板 cls文件说明 原版文件链接:https://c ...
- ACM比赛经验、刷题记录及模板库总结(更新中)
前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...
- acm java 快速读写,java_acm快速输入和输出
平常我们在用java做acm题目的时候,都是用 Scanner cin = new Scanner(System.in); int num = cin.nextInt(); System.out.pr ...
最新文章
- Jprofiler监控工具(内存泄漏)
- 软件测试 homework2
- python爬虫取腾讯视频评论
- JZOJ 5776. 【NOIP2008模拟】小x游世界树
- 【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理
- vim配置c语言开发环境变量,gcc配置和vim编程
- Javascript ES6 Promise同步读取文件(使用async、await)
- 四窗口能分布到四台显示器上吗? 回答 Galactica 的提问
- LoadRunner 11简单使用
- Android网卡(Wifi/Lan)带宽测试
- 通用非即插即用监视器分辨率_为什么垂直分辨率监视器的分辨率通常是360的倍数?...
- 触类旁通:图形、图片、与表单控件
- 利用C#编写一个附和闭合导线平差程序
- 一文掌握机器学习算法工程师技术栈
- 联想笔记本插入耳机仍外放--解决方式
- Kubernetes网络插件(CNI)超过10Gbit/s网络的基准结果
- java枚举后面括号是什么意思_[Java] Java自定义枚举常量后括号的作用
- 2021年茶艺师(初级)报名考试及茶艺师(初级)实操考试视频
- 华为鸿蒙朱丹丹,周一围心疼老婆?朱丹二胎产后憔悴臃肿却忙复出:这一年太痛苦...
- 五、原型模式(Prototype Pattern)
热门文章
- oracle某个存过的执行时间,java – 为什么oracle存储过程的执行时间会大大增加,具体取决于它的执行方式?...
- csv与json互转_CSV文件转JSON
- 如何从服务器导出文件,如何从云服务器导出文件
- Shell(6)——if语句
- 16位汇编 call调用函数 通过栈来传递参数
- MFC的CWnd和HWND之间互相转换方法
- C语言面向对象编程(六):配置文件解析
- 从一百篇文章中总结出的需求分析四步法
- HDU - 1027 全排列
- 标准化条件变量 -- condition_variable