#P2848. Kindergarten Graduation
Kindergarten Graduation
Description
The WeeOnes Kindergarten has a strange ceremony as part of its graduation: The children line up with the girls on the left and the boys on the right with a single space between the boys and the girls. By making a sequence of the following four moves, the children are to end up with all the boys on the left and all the girls on the right with a single space between the boys and the girls.
Move | Operation |
Slide left (s) | The child to the right of the empty space moves into the empty |
space. | |
Slide right (S) | The child to the left of the empty space moves into the empty space. |
Hop left (h) | The child two spaces to the right of the open space leapfrogs over |
the intervening child to the open space. | |
Hop right (H) | The child two spaces to the left of the open space leapfrogs over |
the intervening child to the open space. |
In each case, the previous position of the child who moved becomes the new open space.
For example, with two girls and two boys we begin with:
GG_BB
the following moves give the desired result:
s: GGB_B
H: G_BGB
S: _GBGB
h: BG_GB
h: BGBG_
S: BGB_G
H: B_BGG
s: BB_GG
The teacher would like this process to end in a reasonable amount of time so the parents can go home (the children are probably willing to do this all day). Write a program which takes as input the numbers of girls and boys (nGirls and nBoys respectively) and finds a sequence of at most (nGirls * nBoys + nGirls + nBoys) moves which takes you from the starting position to the ending position. [Each girl must leapfrog over (or be leapfrogged over by) each boy and, on average, each child must move past the empty space.]
Input
The input begins with the number of problems N, (1 ≤ N ≤ 1000), on a line by itself followed by Nproblem instances each on its own line. A problem instance has the form:
probNumber nGirls nBoys
where
- probNumber increases sequentially from 1 to N.
- nGirls is the number of girls.
- nBoys is the number of boys.
There is at least 1 child and at most 24 children in a class.
Output
For each problem instance, output the problem number at the beginning of the line then a single space, then the number of moves on a line. On each following line, output the codes for the required moves in order. Each line except the last should have 50 move characters with the remainder, if any, on the final line. The last line of a problem instance result should be a single blank line.
3
1 2 2
2 4 0
3 5 10
1 8
sHShhSHs
2 2
HH
3 65
sHShhsHHHShhhhsHHHHHshhhhhsHHHHHshhhhhsHHHHHshhhhh
SHHHHshhhSHHshS
Hint
Note:Other solutions are possible; for instance:
- ShsHHshS is also a solution to problem 1
- SSSS, HSS, etc. are also acceptable answers to problem 2.