poj1703 Find them, Catch them(并查集的应用)
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 32225 | Accepted: 9947 |
Description
Assume N (N <= 10^5) criminals are currently in Tadu City, numbered from 1 to N. And of course, at least one of them belongs to Gang Dragon, and the same for Gang Snake. You will be given M (M <= 10^5) messages in sequence, which are in the following two kinds:
1. D [a] [b]
where [a] and [b] are the numbers of two criminals, and they belong to different gangs.
2. A [a] [b]
where [a] and [b] are the numbers of two criminals. This requires you to decide whether a and b belong to a same gang.
Input
Output
Sample Input
1
5 5
A 1 2
D 1 2
A 1 2
D 2 4
A 1 4
Sample Output
Not sure yet.
In different gangs.
In the same gang. 题目大意:N 表示共有 N 个帮派;下面有 M 条个询问
有两个帮派,现在告诉你一些互相敌对的点对,然后让你判断某两个点之间的关系,并首先判两个点关系是否确定;
用并查集的思想只要两个点在一个集合里就可以了,直接用并查集然后时候在同一个集合;
AC代码:
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
// 0 代表木有关系,1表示不同类,2代表同类
const int N = 1e5+;
int m;
int f[N],c[N];
int init()
{
for(int i=; i<=m; i++)
{
f[i] = i;
c[i] = ;
}
}
int xfind(int x)
{
if(f[x] == x)
return x;
int t = f[x];
f[x] =xfind(f[x]);
c[x] = (c[x]+c[t])%;
return f[x];
}
int solve(char ch,int x,int y )
{
int fx = xfind(x);
int fy = xfind(y);
if(fx != fy)
{
if(ch == 'A') return ; //返回值0,表示不确定
f[fx] =fy;
if((c[x]+c[y])% ==)
c[fx] = ;
}
else
{
if(ch == 'A')
{
if(c[x] != c[y]) return ; //返回值1,表示在不同的帮派
if(c[x] == c[y]) return ; //返回值2,表示在相同的帮派
}
}
if(ch == 'D') return ;//这种情况不同在考虑的
}
int main( )
{
int T,n,x,y;
char s;
scanf("%d",&T);
while(T--)
{
scanf("%d %d",&m,&n);
init(); //初始化并查集
for(int i=; i<n; i++)
{
scanf(" %c %d %d",&s,&x,&y);
int flag = solve(s,x,y);
if(flag == ) printf("Not sure yet.\n");
else if(flag == ) printf("In different gangs.\n");
else if(flag == ) printf("In the same gang.\n");
}
}
return ;
}
poj1703 Find them, Catch them(并查集的应用)的更多相关文章
- poj1703 Find them, Catch them 并查集
poj(1703) Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26992 ...
- POJ-1703 Find them, Catch them(并查集&数组记录状态)
题目: The police office in Tadu City decides to say ends to the chaos, as launch actions to root up th ...
- POJ 1703 Find them, catch them (并查集)
题目:Find them,Catch them 刚开始以为是最基本的并查集,无限超时. 这个特殊之处,就是可能有多个集合. 比如输入D 1 2 D 3 4 D 5 6...这就至少有3个集合了.并且 ...
- poj1703--Find them, Catch them(并查集应用)
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 32073 Accepted: ...
- POJ1703-Find them, Catch them 并查集构造
Find them, Catch them 好久没有做并查集的题,竟然快把并查集忘完了. 题意:大致是有两个监狱,n个 ...
- POJ 2236 Wireless Network ||POJ 1703 Find them, Catch them 并查集
POJ 2236 Wireless Network http://poj.org/problem?id=2236 题目大意: 给你N台损坏的电脑坐标,这些电脑只能与不超过距离d的电脑通信,但如果x和y ...
- POJ 1703 Find them, Catch them 并查集的应用
题意:城市中有两个帮派,输入中有情报和询问.情报会告知哪两个人是对立帮派中的人.询问会问具体某两个人的关系. 思路:并查集的应用.首先,将每一个情报中的两人加入并查集,在询问时先判断一下两人是否在一个 ...
- poj1703_Find them, Catch them_并查集
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 42451 Accepted: ...
- poj.1703.Find them, Catch them(并查集)
Find them, Catch them Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I6 ...
- POJ 1703 Find them, Catch them(并查集高级应用)
手动博客搬家:本文发表于20170805 21:25:49, 原地址https://blog.csdn.net/suncongbo/article/details/76735893 URL: http ...
随机推荐
- XenApp应用虚拟化介绍
https://wenku.baidu.com/view/635223c26137ee06eff91864.html
- 微信自动抢红包android实现
AccessibilityService-微信自动抢红包 2018年02月01日 16:09:06 阅读数:1757 在领导发红包的时候,看到有些同事在1s.2s抢到红包,为什么他们能够这么快?一定是 ...
- 玩转Google开源C++单元测试框架Google Test系列(gtest)(转)
转自:http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Googl ...
- [转载]Delphi事件的广播
https://blog.csdn.net/dropme/article/details/975736 明天就是五一节了,辛苦了好几个月,借此机会应该尽情放松一番.可是想到Blog好久没有写文章,似乎 ...
- python的FTP模块
python本身自带一个FTP模块,可以轻松实现FTP的上传,下载等操作.下面来看看用法: from ftplib import FTP import socket #用来设置超时时间 FTP. ...
- 算法之排序Low B三人组
有序区:有的地方的数据已经完全变得有顺序,我们把这部分区域的数据成为有序区无序区:有的地方的数据依旧无序,我们把这部分数据成为无序区时间复杂度:用来估计算法运行时间的一个式子(单位)空间复杂度:用来评 ...
- hadoop运行报错Wrong FS: hdfs:/, expected: file:///
内容源自:https://blog.csdn.net/u014470581/article/details/51480600 报错信息: Exception in thread "main& ...
- ASPCMS不能上传2M以上大文件修改!
\admin_aspcms\editor\upload.asp修改80行左右maxattachsize=xxxxxxxx'最大上传大小,默认是2M前提是IIS上传大小已修 其他有关IIS方面的修改: ...
- Mac下访问windows的共享文件夹
Finder->前往->smb://<user>@<ip>
- 算法笔记_048:找零问题(Java)
目录 1 问题描述 2 解决方案 2.1 动态规划法 1 问题描述 现需找零金额为n,则最少需要用多少面值为d1 < d2 < d3 < ... < dm的硬币?(PS:假 ...