check this http://groups.google.com/group/algogeeks/browse_thread/thread/1f8e78e3a4a95588/5f043389841ba7d1?q=next+highest+number&rnum=1#5f043389841ba7d1
On 11/30/05, sai ram <[EMAIL PROTECTED]> wrote: > > > Hi, > Can someone describe me a solution to this good problem ? How do you > solve it ? I have been thinking over but couldn't figure out one . This > appeared in one of the recent contests that has been posted in the > group. > > Problem Description *********************** > > Many departmental store use plastic digits on an illuminated sign to > indicate prices. When there is an insufficient quantity of a particular > digit, the attendant may substitute another one upside down. > The digit "6" looks much like "9" upside down. The digits "0", "1" and > "8" look like themselves. The digit "2" looks a bit like a "5" upside > down (well, at least enough so that departmental store use it). > > Due to rapidly increasing prices, a certain > departmental store has used > all of its available digits to display the current price. Fortunately, > this shortage of digits need not prevent the attendant from raising > prices. She can simply rearrange the digits, possibly reversing some of > them as described above. > > Your job is to compute, given the current price of > items, the next > highest price that can be displayed using exactly the same digits. The > input consists of several lines, each containing between 2 and 30 > digits (to account for future prices) and a decimal point immediately > before the last digit. There are no useless leading zeroes; that is, > there is a leading zero only if the price is less than 1. You are to > compute the next highest price that can be displayed using the same > digits and the same format rules. An input line containing a decimal > point alone terminates the input. If the price cannot be raised, print > "The price cannot be raised." > > Sample Input > > 65.2 > 76.7 > 77.7 > . > > Output for Sample Input > > 65.5 > 77.6 > The price cannot be raised. -- Prashanth Mohan http://prash.be ---