题意:N个人,M次操作,操作一:A X Y,X,Y不是同一帮派,操作二:D X Y,判断X和Y的关系。

思路:如果X和Y不是同一帮派,那X与Y+N、Y与X+N是同一帮派,如果X与Y不在同一帮派且X与Y+N不是同一帮派则不能确定关系,如果X与Y是同一帮派则输出same那句话,如果X与Y+N是同一帮派则输出different那句话。

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m;
int pre[];
int rank[];
char s[];
void init(int n)
{
for(int i=;i<=n;i++)
pre[i]=i,rank[i]=;
}
int find(int x)
{
return x==pre[x]?x:pre[x]=find(pre[x]);
}
void unite(int x,int y)
{
x=find(x);
y=find(y);
if(x==y)
return ;
if(rank[x]<rank[y])
pre[x]=y;
else
{
pre[y]=x;
if(rank[x]==rank[y])
rank[x]++;
}
}
int same(int x,int y)
{
return find(x)==find(y);
}
int main()
{
//std::ios_base::sync_with_stdio(false);
int t,x,y;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
init(n*);
for(int i=;i<=m;i++)
{
scanf("%s%d%d",s,&x,&y);
if(s[]=='A')
{
if(!same(x,y)&&!same(x,y+n)) //确定是否已有确定的关系
printf("Not sure yet.\n");
else if(same(x,y)) //x与y同帮派
printf("In the same gang.\n");
else if(same(x,y+n)) //x与y不同帮派
printf("In different gangs.\n");
}
else
{
unite(x,y+n);
unite(x+n,y);
}
}
}
return ;
}

Find them, Catch them POJ - 1703的更多相关文章

  1. K - Find them, Catch them POJ - 1703 (带权并查集)

    题目链接: K - Find them, Catch them POJ - 1703 题目大意:警方决定捣毁两大犯罪团伙:龙帮和蛇帮,显然一个帮派至少有一人.该城有N个罪犯,编号从1至N(N<= ...

  2. (并查集 带关系)Find them, Catch them -- poj -- 1703

    链接: http://poj.org/problem?id=1703 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3676 ...

  3. Find them, Catch them(POJ 1703 关系并查集)

    Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 38668   Accepted: ...

  4. DisJSet:Find them, Catch them(POJ 1703)

    抓住他们! 题目大意:两个黑社会帮派,互相打架,现在你很多条信息,要你确定两个人是否属于不同帮派 这题很有趣,题目不是直接给你两个人是否是一个帮派的,他给你的是不同帮派的,也就是给你很多个不同的要你找 ...

  5. poj.1703.Find them, Catch them(并查集)

    Find them, Catch them Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I6 ...

  6. POJ 1703 Find them, Catch them(种类并查集)

    Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 41463   Accepted: ...

  7. POJ 2236 Wireless Network ||POJ 1703 Find them, Catch them 并查集

    POJ 2236 Wireless Network http://poj.org/problem?id=2236 题目大意: 给你N台损坏的电脑坐标,这些电脑只能与不超过距离d的电脑通信,但如果x和y ...

  8. 【并查集】模板 + 【HDU 1213、HDU 1232、POJ 2236、POJ 1703】例题详解

    不想看模板,想直接看题目的请戳下面目录: 目录: HDU 1213 How Many Tables[传送门] HDU 1232 畅通工程 [传送门] POJ 2236 Wireless Network ...

  9. 【原创】POJ 1703 && RQNOJ 能量项链解题报告

    唉 不想说什么了 poj 1703,从看完题到写完第一个版本的代码,只有15分钟 然后一直从晚上八点WA到第二天早上 最后终于发现了BUG,题目要求的“Not sure yet.”,我打成了“No s ...

随机推荐

  1. KVM虚拟化环境安装随笔

    1. KVM由来 KVM:Kernel-based Virtual Machine 2.软件说明 libvirt  作用:虚拟机的管理软件 virt   virt-install virt-clone ...

  2. JAX-RS和 Spring 整合开发

    JAX-RS 和 和 Spring 整合开发 1.建立maven项目 2.导入maven坐标 <dependencies> <!-- cxf 进行rs开发 必须导入 --> & ...

  3. 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1 20165304

    下载镜像文件 在官网上下载好64位的镜像文件后,按照网上是教程进行安装,安装成功后截图如下 接下来是安装增强功能 按照教程安装增强功能后截图如下 设置共享文件 安装搜狗 在安装搜狗时遇到了安装失败的情 ...

  4. Java反射实现原理分析

    目录: 一.反射的用法 二.反射实现原理 一.反射的用法 1.如何获取Class反射类 (1)通过getClass方法: Proxy proxy = new ProxyImpl(); Class pr ...

  5. Filter过滤器 不登陆无法访问其他页面

    package com.cscy.Filter; import java.io.IOException; import javax.servlet.Filter; import javax.servl ...

  6. [原创]标记下Kendo使用中的问题, 持续更新中ing.....

    使用kendo UI 遇到的问题: 1. Kendo DropdownList 加载完毕后, 显示 [object object]的问题: 解决: 尝试了添加dataTextField.dataVal ...

  7. C# 加载静态资源问题

    加载的格式是这样:

  8. 吴裕雄 python 机器学习——线性判断分析LinearDiscriminantAnalysis

    import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot ...

  9. C#客户端和服务端数据的同步传输 (转载)

      客户端: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;u ...

  10. ubuntu单用户修改密码

    系统版本:Ubuntu 16.04,其它版本类似. 第一步 重启 Ubuntu ,并长按shift键,进入grub菜单,上下键选择Ubuntu高级选项 第二步 上下键选择recovery mode,不 ...