在一个坐标平面上有 N 个人,编号从 1 到 N。
人 1 位于原点。
你得到以下形式的 M 条信息:
从 Ai 的角度看,Bi 在正 x 方向上距离 Xi 个单位,在正 y 方向上距离 Yi 个单位。
确定每个人的坐标。如果某个人的坐标无法唯一确定,请报告这一事实。
输入
输入内容由标准输入法提供,格式如下
N M
a 1 b 1 x 1 y 1
⋮
a m b m x m y m
输出
打印 N 行。
如果无法唯一确定第 i 人的坐标,则第 i 行应包含无法确定的内容。
第 i 行应包含undecidable。
如果坐标可以唯一确定为(s i ,t i ),则第 i 行应按顺序包含 s i 和 t i,并用空格隔开。 按此顺序排列,中间用空格隔开。
-------
-------
----------
------------
---------
建图,用edge表示,就是map加list.保证完备性,图要建双向的。
记录元素的坐标,用hashmap来记录,然后就是bfs,为了避免bfs的时候,重复谈论同一个元素的位置,这里面加一个vis的数组,记录元素是否确定坐标的状态,next的,就可以进去que这个linkedlist中,继续bfs,我居然不看题解就写出来一个bfs了,不容易啊。。。虽然wa了一次,因为是用的int,没有看数据范围,应该改成long的。
写的代码还是挺长的。。。