poj1703

题目大意:一共有两个类,两种操作D X Y表示X Y在不同的类里面,A X Y 询问X Y之间的关系(未知,相同,不同)

分析:简单带权并查集,D[i]表示与i对立的类,维护好这个变量就可以了。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <set>
 5 #include <algorithm>
 6 #include <map>
 7 #include <queue>
 8 #include<vector>
 9 #define maxn 100010
10 #define maxm 100010
11 #define mod 1000000000000000000
12 #define INF 0x3fffffff
13 using namespace std;
14 int father[maxn];
15 int n;
16 int d[maxn];
17 void init(){
18     for(int i=0;i<=n;++i){
19         father[i]=i;
20         d[i]=-1;
21     }
22 }
23 int Find(int x){
24     return father[x]==x?x:father[x]=Find(father[x]);
25 }
26 void Union(int x,int y){
27     x =Find(x);
28     y =Find(y);
29     if(x!=y)father[x]=y;
30 }
31 int main ()
32 {
33     int t,m;
34     scanf("%d",&t);
35     while(t--){
36         scanf("%d%d",&n,&m);
37         init();
38         char ch[10];
39         int x,y;
40         for(int i=0;i<m;++i){
41             scanf("%s%d%d",ch,&x,&y);
42             int fx = Find(x);
43             int fy = Find(y);
44             if(ch[0]=='A'){
45                 if(fx==fy)printf("In the same gang.\n");
46                 else if(fx == Find(d[y]))printf("In different gangs.\n");
47                 else printf("Not sure yet.\n");
48             }
49             else {
50                 if(d[x]==-1){
51                     d[x]=fy;
52                 }
53                 if(d[y]==-1){
54                     d[y]=fx;
55                 }
56                 Union(x,d[fy]);
57                 Union(y,d[fx]);
58             }
59         }
60     }
61 }
View Code

 

转载于:https://www.cnblogs.com/shuzy/p/3795471.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/401749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SEO原创文章制作器

软件截图 软件说明 软件名称&#xff1a;SEO原创文章制作器 版本&#xff1a;v1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;SEO福利工具&#xff0c;可直接从网上将内容复制到本软件&#xff0c;然后生成文字不一样但意思一样的原创文本。 此软件可以设置原创级别。…

水星MW300R v2 路由器刷DD-Wrt 小记

家里有一个水星MW300R v2 的路由器&#xff0c;之前在这个路由器上刷过OpenWrt&#xff08;可参照我这个博文&#xff1a;http://wlpblog.blog.163.com/blog/static/217614257201511252554386/&#xff09;&#xff0c;后来刷回了原系统。最近发觉这个路由器系统有点问题&#…

ns,ui

转&#xff1a;http://blog.csdn.net/fengsh998/article/details/8842885 Cocoa框架是iOS应用程序的基础&#xff0c;了解Cocoa框架&#xff0c;对开发iOS应用有很大的帮助。 1、Cocoa是什么&#xff1f; Cocoa是OS X和 iOS操作系统的程序的运行环境。 是什么因素使一个程序成为…

Android手机调整/data分区和/sdcard分区

现在手上有一块E160K的手机&#xff0c;手机内存是32GB的&#xff0c;由于之前对这个手机刷机不当&#xff0c;造成用户分区20GB多&#xff0c;而内置SD仅仅只有5GB多&#xff0c;造成了严重的资源浪费&#xff0c;所以我需要把这两个分区的大小调整一下。 问题分析&#xff1a…

Joseph Problem(解约瑟夫问题)

今天在一个OJ上做了一个Joseph Problem&#xff08;解约瑟夫问题&#xff09;的题&#xff0c;题目不难&#xff0c;直接用循环链表模拟实际操作即可完成&#xff0c;但是用此种方法的时间太长&#xff0c;超时&#xff0c;所以我就用了一个大家对这类问题比较常用的解法——数…

linux下mono的安装与卸载

我很遗憾的告诉你&#xff0c;这里没有安装&#xff0c;为什么标题里加入安装俩字呢&#xff0c;因为如果不加的话你会搜到这篇文章吗&#xff1f;哈哈&#xff01;别气馁&#xff0c;这里会给你些安装的tips&#xff01; 源码安装&#xff0c;git安装&#xff1a;建议安装路径…

繁体简体转换器 v 1.0

软件截图 软件说明 软件名称&#xff1a;繁体简体转换器 软件版本&#xff1a; 1.0 开发语言&#xff1a;易语言 软件说明&#xff1a;本软件主要是用于繁体中文转换为简体中文的工具&#xff0c;如果你想把转换后的文本用于MarkDown中&#xff0c;可以勾选“HTML转义”复选…

C#实现Combobox自动匹配字符

不多说了,如图,应客户要求,下拉框中需要自动匹配字符,可能有些人一早就对此很熟,但相对于我还是首次使用,还是花了一点时间,现记录下来,也希望能帮助大家更好的理解. 首先要设定Combobox的DropDownStyle属性为DropDown,而不是DropDownList.然后设定匹配数据源,有两种方法 第一种…

按键 使用WinHttp实现POST方式用户模拟登录网站

引言 这篇文章是我以前在一个论坛里写的&#xff0c;今天把这篇文章转移到这里。 文章主要介绍了如何模拟一个网站的登录。 这里使用的辅助工具是按键精灵&#xff0c;编程语言类似于VB。 实现步骤 第一步&#xff0c;获取登录地址 打开登录界面&#xff1a; 打开调试工…

华硕 RT-AC54U路由器固件功能说明

引言 华硕 RT-AC54U这款路由器固件&#xff0c;界面做的很不错&#xff08;起码比OpenWrt要好看&#xff09;&#xff0c;功能也比较强悍&#xff0c;但是对于刚入手这个固件的用户可能会对此固件的一些很好用的功能无从下手&#xff0c;所以这里我就写下了这个文章。 固件亮…

HTML5中类jQuery选择器querySelector的使用

为什么80%的码农都做不了架构师&#xff1f;>>> 简介 HTML5向Web API新引入了document.querySelector以及document.querySelectorAll两个方法用来更方便地从DOM选取元素&#xff0c;功能类似于jQuery的选择器。这使得在编写原生JavaScript代码时方便了许多。 用法 …

Find the Kth number(找第K大数)

题目再现 题目内容&#xff1a; 给定N个排序好的序列&#xff0c;每个序列内有M个数字。因此我们总共有N*M个数字&#xff0c;编号为1~N*M。 将N*M个数字排序后输出第K个数字是多少。Hint : 直接将N*M个数字做排序会超过时间限制。 Hint : 每次花O(N)的时间找一个数字&#xf…

Species Tree(HashTable实现)

题目再现 题目内容&#xff1a; 给定一个物种演化图&#xff0c; 关系的表示方式如下&#xff1a; x y : 表示x为y的先祖。 一个物种只会有一个先祖&#xff0c; 一个先祖可以有很多个演化出来的物种&#xff0c; 请你找出每个问题询问物种的祖父物种(先祖的先祖)&#xff0c;…

Adjacent Node Sum(邻接表处理)

题目再现 题目内容&#xff1a; 给定一个节点有权重的图&#xff0c; 请你计算与一个节点相邻的所有节点的权重和。 节点编号为1~N。 每个节点的编号即为他的权重。输入格式: 只有一组测资。 第一行有三个数字&#xff0c;N、M、Q。 N表示这张图有多少节点&#xff0c; M表示这…

Maze(BFS处理)

题目再现 题目内容&#xff1a; 给你一个迷宫&#xff0c; S为起点&#xff0c;E为终点。 请你找出走出迷宫所需要花费的最短步数。 你只能往上下左右四个方向移动。输入格式: 第一行有一个数字T&#xff0c;代表有T组测资。 每组测资的第一行有两个数字R、C&#xff0c; 代表…

Lotto(DFS处理)

题目再现 题目内容&#xff1a; 给定N个数字&#xff0c;再从中选定M个数字出来。 将每一种组合内的数字由小到大排列之后&#xff0c; 将所有组合按照字典序排列&#xff0c; 请你找出第X组的第Y个数字。 给定的数字为1~N。 范例1 (N,M,X,Y) (5,2,8,2) 所有组合按顺序排列为…

2016第七届蓝桥杯省赛C/C++ B组试题解析整理

引言 今天是蓝桥杯省赛举办的日子&#xff0c;是一个很激动人心的时刻&#xff0c;也是我第一次参加蓝桥杯&#xff0c;从上午9点到下午1点&#xff0c;做题时间历经4个小时&#xff0c;想想就过瘾。 下面整理一下这次比赛的题目。 *注&#xff1a;此处为了省事儿&#xff…

Linux 小知识翻译 - 「邮件服务器」

这次聊聊「邮件服务器」。 邮件服务器上通常会运行2个服务端软件&#xff0c;「SMTP服务器」和「POP服务器或者IMAP服务器」。 这2个东西&#xff0c;也许使用邮件客户端的人立马就明白了。因为设置邮件客户端的时候&#xff0c;需要指定「发信服务器」和「收信服务器」。 这2个…

终极结束进程方法API

引言 最近在机房里上课的时候&#xff0c;学生的电脑上都安装了相应的学生端软件&#xff0c;而这些软件并没法正常关闭&#xff0c;用任务管理器也无法关闭&#xff0c;下面我说一下如何用Windows API对这类顽固程序进行终结。 福利方法 由于相关方面的规定&#xff0c;这里…

Android Fragments 详细使用

2019独角兽企业重金招聘Python工程师标准>>> Fragments 诞生初衷 自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片、片段。其上的是为了解决不同屏幕分辩率的动态和灵活UI设计。大屏幕如平板小屏幕如手机&#xff0c;平板电脑的设计使得其有更多…