HDU 4829 Information [带权并查集]【数据结构】

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4829 ——————————————————————————–. InformationTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3
摘要由CSDN通过智能技术生成

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4829
——————————————————————————–.
Information

Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 367 Accepted Submission(s): 61

Problem Description
军情紧急,我们需要立刻开发出一个程序去处理前线侦察兵发回的情报,并做出相应的分析。现在由你负责其中的一个子模块,你需要根据情报计算出敌方坦克的位置。
当敌方坦克静止时,侦察兵会尽力估算出它们之间的位置,而每当敌方坦克移动时,侦察兵都会记录下坦克新的位置并向你报告。每个坦克的位置可以由一个二维整数坐标来描述。
前线发回的情报有四种格式:
1 A B X Y
表示A坦克移动到了与B坦克的相对位置是(X,Y)的地方,即XA = XB + X, YA=YB+Y。
2 A X Y
表示A坦克移动到了绝对位置是(X,Y)的地方,即XA = X, YA = Y。
3 A B X Y
表示发现了A坦克与B坦克的相对位置是(X,Y),即XA = XB + X, YA=YB+Y。
4 A X Y
表示发现了A坦克的绝对位置是(X,Y),即XA = X, YA = Y。
我们需要你对于如下两种询问及时做出回应:
5 A B
表示询问A坦克与B坦克的相对位置是多少,即分别求出XA - XB 以及YA -YB。
6 A
表示询问A坦克的绝对位置是多少,即求出XA 和YA。
其中A和B代表的是任意的一个坦克的编号,(X,Y)表示了坦克的二维坐标。你可以假设初始时刻我们对于敌方任何坦克的位置都一无所知,在此之后坦克的每一次移动都被侦察兵侦察到了。
请注意两个坦克的坐标有可能相同。

Input
输入的第一行是一个整数T(T < 1000),表示共有T组数据。
对于每组数据,第一行有一个整数N,表示这组数据有N次查询。接下来的每行表示一次查询,每次查询第一个数字代表是哪种询问,询问的格式详见上文。
数据范围:
0 < N <=100000, 0 < A,B<=N 且 A<>B, X和Y都是整数且 0 <=X,Y<=10000 .
测试数据中98%的数据N不超过50。

Output
对于每组数据,首先需要输出单独一行”Case #?:”,其中问号处应填入当前的数据组数,组数从1开始计算。
对于每一个类型(1)或者(2)的询问,请把它们加入到你的记录中。
对于每一个类型(3)或者(4)的询问,如果与之前记录的内容有矛盾,请输出”REJECT”并将这个情报忽略掉,如没有矛盾,请把它们加入到你的记录中。
对于每一个类型(5)或者(6)的询问,如果根据之前的记录能推出结论,请输出两个整数X和Y,两个整数之间有一个空格;如果不能推出结论,请输出”UNKNOWN”。输出的所有信息都不包括引号。

Sample Input
2
7
1 1 2 3 4
2 3 4 5
3 4 5 2 1
4 6 2 2
3 2 4 6 2
5 4 1
6 3
6
6 3
4 3 2 2
6 3
2 4 2 3
5 3 4
3 3 4 1 2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值