Poj 1029 分类: Translation Mode 2014-04-04 10:18 112人阅读 评论(0) 收藏

False coin
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 16418   Accepted: 4583

Description

The "Gold Bar"bank received information from reliable sources that in their last group of N coins exactly one coin is false and differs in weight from other coins (while all other coins are equal in weight). After the economic crisis they have only a simple
balance available (like one in the picture). Using this balance, one is able to determine if the weight of objects in the left pan is less than, greater than, or equal to the weight of objects in the right pan. 

In order to detect the false coin the bank employees numbered all coins by the integers from 1 to N, thus assigning each coin a unique integer identifier. After that they began to weight various groups of coins by placing equal numbers of coins in the left
pan and in the right pan. The identifiers of coins and the results of the weightings were carefully recorded. 

You are to write a program that will help the bank employees to determine the identifier of the false coin using the results of these weightings. 

Input

The first line of the input file contains two integers N and K, separated by spaces, where N is the number of coins (2<=N<=1000 ) and K is the number of weightings fulfilled (1<=K<=100). The following 2K lines describe all weightings. Two consecutive lines
describe each weighting. The first of them starts with a number Pi (1<=Pi<=N/2), representing the number of coins placed in the left and in the right pans, followed by Pi identifiers of coins placed in the left pan and Pi identifiers of coins placed in the
right pan. All numbers are separated by spaces. The second line contains one of the following characters: '<', '>', or '='. It represents the result of the weighting: 

'<' means that the weight of coins in the left pan is less than the weight of coins in the right pan, 

'>' means that the weight of coins in the left pan is greater than the weight of coins in the right pan, 

'=' means that the weight of coins in the left pan is equal to the weight of coins in the right pan. 

Output

Write to the output file the identifier of the false coin or 0, if it cannot be found by the results of the given weightings.

Sample Input

5 3
2 1 2 3 4
<
1 1 4
=
1 2 5
=

Sample Output

3

题目大意:

这个银行从不同的来源收到了一些信息,在N个硬币中有一个硬币是假的,且它的重量与其他硬币的重量不同

在经济危机后,他们只有一个标准的平衡称,使用这个称,可以确定左边的是轻,还是重,或者等于右边的。

为了检测出这个假的硬币,这银行使用了一定数量的硬币,编号为1到n,因此分配给每个硬币不同的编号,

之后,他们开始将相同数目的不同组合硬币分别放入左右盘

这些硬币的标示符和重量都是被小心记录着。你需要写出一个程序可以帮助银行找出这个假硬币

就是根据记录寻找出假硬币

版权声明:本文为博主原创文章,未经博主允许不得转载。

上一篇:安全之路:Web渗透技术及实战案例解析(第2版)


下一篇:C语言之void类型及void指针 分类: C/C++ 2015-07-13 11:24 8人阅读 评论(0) 收藏