Submit | All submissions | Best solutions | Back to list |
NY10A - Penney Game |
Penney’s game is a simple game typically played by two players. One version of the game calls for each player to choose a unique three-coin sequence such as HEADS TAILS HEADS (HTH). A fair coin is tossed sequentially some number of times until one of the two sequences appears. The player who chose the first sequence to appear wins the game.
For this problem, you will write a program that implements a variation on the Penney Game. You willread a sequence of 40 coin tosses and determine how many times each three-coin sequence appears. Obviously there are eight such three-coin sequences: TTT, TTH, THT, THH, HTT, HTH, HHT and HHH. Sequences may overlap. For example, if all 40 coin tosses are heads, then the sequence HHH appears 38 times.
Input
The first line of input contains a single integer P, (1 ≤ P ≤ 1000), which is the number of data sets that follow. Each data set consists of 2 lines. The first line contains the data set number N. The second line contains the sequence of 40 coin tosses. Each toss is represented as an upper case H or an upper case T, for heads or tails, respectively. There will be no spaces on any input line.
Output
For each data set there is one line of output. It contains the data set number followed by a single space, followed by the number of occurrences of each three-coin sequence, in the order shown above, with a space between each one. There should be a total of 9 space separated decimal integers on each output line.
Example
Input:
4
1
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
2
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
3
HHTTTHHTTTHTHHTHHTTHTTTHHHTHTTHTTHTTTHTH
4
HTHTHHHTHHHTHTHHHHTTTHTTTTTHHTTTTHTHHHHT
Output:
1 0 0 0 0 0 0 0 38
2 38 0 0 0 0 0 0 0
3 4 7 6 4 7 4 5 1
4 6 3 4 5 3 6 5 6
Added by: | John Mario |
Date: | 2011-03-22 |
Time limit: | 0.800s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | ACM Greater New York Regionals 2010 |
hide comments
|
|||||||||
2016-11-04 06:59:05 E Naveen Kumar
@dwij28 Bang On... Simple |
|||||||||
2016-10-23 12:37:37
Dont read comments for the technique , use your own mind and see what you would do if it would be real life problem , then implement it and improve it. Do not read comment they will sugges you many technique but you will never get to use your own brain , which is the most important thing. |
|||||||||
2016-10-22 13:33:10
lmao dwij28 |
|||||||||
2016-10-21 22:27:00 prakash
pretty easy |
|||||||||
2016-09-24 21:18:41
People who have used stuff like Trie on this, must be using sword to cut their nails. |
|||||||||
2016-09-19 11:00:07 Abhishek
I used a different approach than what i now read in the comments, take complete tree of size 16, then moving left is when we see 'T' and right for 'H' , leaf nodes will be our values [8,15] to print. I seems like a DFA of 15 states, but reducing states is not worth it cuz the simplicity of the tree is awesome. Solution -> O(n) time , O(1) Space |
|||||||||
2016-08-20 12:23:39
One of the easiest on spoj........move this to tutorial |
|||||||||
2016-07-29 22:30:13
Easy one, O(n) AC :) Last edit: 2016-07-29 22:30:31 |
|||||||||
2016-06-24 13:44:32
just Trie !! ;) 0.00 sec |
|||||||||
2016-06-09 00:06:26
Waste of Time :) |