#P1274. 假币
假币
问题描述
“金条”银行收到可靠的消息:他们最近的一批货币(共N个)中正好有一个假币,并且假币的重量不同于真币(真币的重量都相等)。不幸的是,在金融危机后他们仅有一个天平可用。天平可以用来判断左盘里的物体比右盘里的轻还是重,或者两者重量相同。
为了找出假币,银行的雇员们把货币从1到N编了号,这样就给了每个货币唯一的标识符。然后,他们开始把货币分成不同的组并进行称重。每一次称重,天平左右盘中的货币数相等。被称重的货币的标识符(即序号)以及称重的结果都记录在案。
你的任务是编写一个程序,帮助银行的职员们根据称重的结果找出假币。
输入coin.in
输入文件的第一行是两个整数N和K,中间用空格隔开,N是货币的数目( ),K是称重的次数( )。
接下来的2K行用来描述每次称重。每两行表示一次称重。其中第一行的第一个整数Pi ( )表示左右盘中各有几个货币,接下来的2 Pi个整数分别表示天平左盘和右盘中的货币的标识符(序号)。
所有的整数间都用空格隔开。第二行中有一个字符‘<’,‘>’, 或 ‘=’,用来表示称重的结果:
‘<’表示左盘的货币比右盘的货币轻;
‘>’表示左盘的货币比右盘的货币重;
‘=’表示两边的货币等重。
输出coin.out
仅需输出假币的标识符(序号),如果找不出唯一的假币就输出0。
样例
5 3
2 1 2 3 4
<
1 1 4
=
1 2 5
=
3
6 4
3 1 2 3 4 5 6
<
1 1 2
=
2 1 3 4 5
<
2 4 5 2 6
>
0