Submit | All submissions | Best solutions | Back to list |
GUESSTHE - Guess the Number |
You are playing the funny game “Guess the number” with a friend. In this game, one of the players choose a positive integer and the other has to guess it by using the clues that are revealed. The i-th clue is either “Y” or “N” indicating whether the hidden number is a multiple of i or not, respectively. For instance, if the clues so far are “YYNYY” it means that the number is a multiple of 1, 2, 4 and 5, but it is not a multiple of 3. Given the clues of the game so far, you have to guess the minimum possible number according to them, or call your friend a cheater if there is no number such that the clues were correctly given.
Input
The input contains several test cases. Each test case is described in a single line that contains a non-empty string of at most 20 characters. The string is formed entirely of uppercase letters “Y” and “N”, and represents the clues given so far, in order from left to right. The last line of the input contains a single asterisk and should not be processed as a test case.
Output
For each test case output a single line with the minimum positive integer that satisfies all the clues, or −1 if there is no such a number.
Example
Input: YYNYY YYYNNN * Output: 20 -1
Added by: | Pablo Ariel Heiber |
Date: | 2010-08-19 |
Time limit: | 2.950s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: NODEJS OBJC PERL6 VB.NET |
Resource: | FCEyN UBA ICPC Selection 2008 |
hide comments
|
|||||||
2010-09-01 00:27:01 Patrick Klitzke
I also agree that 1s is just fine. My C++ solution runs in 0.03 seconds and I do not think that java is more than thirty times slower than C++. You just have to think about a fast algorithm |
|||||||
2010-09-01 00:27:01 Mitch Schwartz
1s was fine for Java. I'm glad my original solution got rejected for TLE (now AC at 1.17 s) because it forced me to find a better way and not be too lazy. :) |
|||||||
2010-09-01 00:27:01 Pablo Ariel Heiber
I just submitted a java translation of my C++ solution and passed in 0.91. I raised the limit to 3s to give more margin, but I think it wasn't THAT low. |