博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1703 带权并查集
阅读量:6161 次
发布时间:2019-06-21

本文共 1014 字,大约阅读时间需要 3 分钟。

直接解释输入了:

第一行cases.
然后是n和m代表有n个人,m个操作
给你两个空的集合
每个操作后面跟着俩数
D操作是说这俩数不在一个集合里。
A操作问这俩数什么关系
不能确定:输出Not sure yet.
在一个集合里:输出In the same gang.
不在一个集合里:输出In different gangs.
这题挺像同性恋的虫子那道题的。

// by SiriusRen#include 
#include
using namespace std;int cases,xx,yy,n,m,f[105000],d[100500];char jy,jy1;int find(int x){ if(f[x]==x)return x; int y=f[x]; f[x]=find(f[x]); d[x]=(d[x]+d[y])%2; return f[x];}int main(){ scanf("%d",&cases); while(cases--){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++)f[i]=i; memset(d,0,sizeof(d)); for(int i=1;i<=m;i++){ scanf("%c%c%d%d",&jy1,&jy,&xx,&yy); int fx=find(xx),fy=find(yy); if(jy=='A'){ if(fx!=fy)puts("Not sure yet."); else if(d[xx]!=d[yy])puts("In different gangs."); else puts("In the same gang."); } else f[fx]=fy,d[fx]=(d[yy]-d[xx]+1)%2; } }}

这里写图片描述

转载于:https://www.cnblogs.com/SiriusRen/p/6532416.html

你可能感兴趣的文章
请问华为三层交换机里面的那个从IP是个什么意思? -
查看>>
kFeedback开源啦
查看>>
大数据传输,文件传输的专业解决方案!
查看>>
阿里云专家穆轩的《杭州九年程序员之“修炼”手册》
查看>>
JQuery:deferred对象的方法
查看>>
eyoucms问答 百度权重是什么
查看>>
win10中遇到qq视频时摄像头打不开没反应的解决方法
查看>>
介绍自己的一个Android插桩热修复框架项目QuickPatch
查看>>
关于textarea的ie9的maxlength不起作用的问题,请参考如下URL解决。
查看>>
Solr Facet 查询
查看>>
C++类的继承一
查看>>
数据库分库分表(sharding)系列(五) 一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案...
查看>>
巧用VMware Workstation的clone来制作虚拟机模板
查看>>
Spring-Mybatis MapperScannerConfigurer 取不到PropertyPlaceholderConfigurer里的值
查看>>
HP DL380G4服务器前面板指示灯的含义
查看>>
数据结构_树结构
查看>>
常用URL地址
查看>>
每天一个linux命令(19):find 命令概览
查看>>
MySQL kill操作
查看>>
windows下看端口占用
查看>>