2398. Stock Exchange

单点时限: 2.0 sec

内存限制: 256 MB

All stock exchanges in the world have been hit very hardly by the crisis. To keep their profit, they now try to cut down all expenses. Prague Stock Exchange would like to employ new computer software to run their operations.

Will you help them to develop such a system? Your task is to detect all pairs of buyers and sellers that are able to make a deal together.


The input contains a description of several issuers.1 Each of them begins with a line containing an integer N, one space, and a code of the stock issuer. After the first one, there are N other lines, each representing one bid. A bid consists of an agent name, one space character, a word specifying the bid type in lowercase letters (either “buy” or “sell”) another space character, and a price given as a decimal number with exactly three digits after the decimal point. All buy bids always specify the maximal price, sell bids list the minimal price for which the agent wants to sell the stocks.

Every issuer code consist of 1–10 uppercase letters (“A”–“Z”). Agent names have at least 1 and at most 20 characters and may be composed of both lowercase and uppercase letters. For one issuer, all agent names are always unique, but the same agents may post bids for several issuers. The number of bids (N) will never exceed 1000. No price will be higher than 10 000.

The last line of the input contains the string “0 END”.


For each issuer, print its code on a separate line. Then, for each agent’s bid (in the same order they were given in the input), output the name of the agent, a colon (“:”), one space, and a list of all agents that are potential counter-parties for the issuer in concern, i.e., one of them wants to buy, the other to sell and the selling price is less or equal to the buying price.

The agent names must be separated by a space and listed in the same order that was used in the input for that issuer. If there is no matching bid, output the string “NO-ONE” instead.


OneBuyer buy 10.600
TooExpensive sell 12.000
ThisWillWork sell 10.600
one sell 129.999
two buy 130.000
three buy 131.000
four sell 129.888
seller sell 121.110
toopoor buy 121.109
sellertwo sell 121.111
iamok buy 121.112
OneBuyer: ThisWillWork
TooExpensive: NO-ONE
ThisWillWork: OneBuyer
one: two three
two: one four
three: one four
four: two three
seller: iamok
toopoor: NO-ONE
sellertwo: iamok
iamok: seller sellertwo

9 人解决,12 人已尝试。

10 份提交通过,共有 14 份提交。

5.3 EMB 奖励。

创建: 11 年,10 月前.

修改: 3 年前.

最后提交: 2 月,3 周前.

来源: CTU Open 2008