#P1359. Spacecraft Malfunction
Spacecraft Malfunction
题目描述
据说宫廷阴谋始于人们互相诬陷,接着又对他人的诬陷进行歪曲,如此循环往复。阴谋者们不断寻找替罪羊,而这些替罪羊往往是权力最小的人,尽管他们不一定是道德最低下的人。
我们遇到了一个类似的问题,但这次是在我们故障频出的宇宙飞船上!宇宙飞船中有多个单元。这些单元通常非常可靠,如果有不止一个单元出现故障,那会让我们十分惊讶。因为如果有多个单元故障,我们就会失去探测器,所以我们确定宇宙飞船中恰好只有一个单元出现了故障。
我们知道每个单元恰好检查另外两个单元,并且每个单元至少会被其他一个单元检查。一个正常的单元会准确诊断它所检查的单元。例如,如果单元 正常,并且它表明单元 有故障,单元 正常,那么实际上单元 确实有故障,单元 正常。然而,一个有故障的单元给出的诊断是不可靠的。所以,如果单元 有故障,并且做出了相同的诊断,那么单元 可能正常也可能有故障,单元 同样可能正常也可能有故障。请注意,一个单元不能检查自身。
现在假设你已经得到了所有单元的检查报告,你的任务是找出哪个单元确实有故障。
输入
输入文件的第一行包含一个整数 (),表示测试用例的数量,随后是每个测试用例的输入数据。每个测试用例的第一行包含一个整数 (),表示单元的数量,随后有 行,每行描述一个单元及其检查结果。每行开头是一个正整数,表示该单元的标识编号。在标识编号之后,有两对被检查单元的标识编号和检查结果。检查结果是一个字符,要么是 Y
,要么是 N
,分别表示被检查单元正常或有故障。例如,示例输入部分的第四行表明单元 检查了单元 ,并认为它正常,同时检查了单元 ,并认为它有故障。
输出
每个测试用例应输出一行,包含有故障单元的标识编号;如果根据输入数据无法找出有故障的单元,则输出单词 impossible
(小写字母)。
输入样例
1
5
2 16 Y 32 N
16 8 Y 32 N
32 8 N 4 Y
8 4 Y 2 Y
4 2 Y 16 Y
输出样例
32
题目来源
德黑兰 2002 年竞赛题目