题目链接:
http://poj.org/problem?id=1703
题意:
输入T表示有T组数据,每组数据输入n,m,表示有n个人,m次询问,每次询问有两种,输入 D (x , y)表示x与y为敌对关系,输入A(x,y)表示询问x与y是什么关系,共有三种,1.朋友(敌人的敌人是朋友),2.敌人,3.不确定。
题解:
开一些虚点来存敌人,通俗一点就是把x的敌人用并查集全部并在x+n这个点上。
代码:
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#define maxn (100005)
using namespace std;
int T,n,m,x,y,fa[2*maxn];
char s[

本文详细解析了POJ 1703题目,该题涉及敌友关系的判断。通过输入的敌对关系和查询操作,利用并查集数据结构进行求解。题解中介绍了如何利用并查集将敌人的关系链接到同一集合,以便快速查询两个人之间的关系状态(朋友、敌人或不确定)。
最低0.47元/天 解锁文章
1190

被折叠的 条评论
为什么被折叠?



