Consider a standard set of double-six dominoes with each piece in the set (each
bone) assigned an identification number as shown below:
A popular diversion among domino layers involves laying several of the bones form the set (selected at random) end-to-end, and then eliminating adjacent pairs of cominoes (from left to right) which touch at the same pip value. Consider the example with six dominoes shown below.
The original draw resulted in these six dominoes. Note that when each domino is aligned, it may appear in either its forward or its backward orientation (the table above shows the forward orientations of all non-doubles). Play begins from the left end and returns to the left end after any pair of dominoes is eliminated. In this case, domino #12 (in its forward orientation) and domino #17 (in its backward orientation) are eliminated from the row since they touch each other with 5 pips. The row is collapsed and play begins again at the left end. This time, dominoes #15 and #20 (both in their forward orientations) are eliminated since they touch each other with 3 pips. The row is again collapsed. Since no further eliminations can be made, the game ends. Note that dominoes #20 and #11 could not be eliminated since they were never the left-most pair.
Write a program that will accept a row of domino I. D. numbers and their orientations, and carry out any such successive left-most eliminations until no more are possible.
B) which indicates the domino's orientation (forward or backward, respectively). The terminating record will always be
0 F. Although it is unnecessary information for doubles (dominoes with the same number of pips on each end), an (arbitrary) orientation of
Bwill still be part of that domino's record. Each domino record (including the terminating record) will appear on a line by itself. The first domino in each set is the leftmost, while the one preceding the terminator is the rightmost. You may assume that each domino will appear at most once in each dataset and that all data will be valid.
RESULTS OF ELIMINATIONSand will have two blank lines separating it form the rest of the report. The remainder of the report will consist of one line for each domino dataset. Each of these lines will contain the domino I. D. numbers which remain in each set after all eliminations have been carried out (in sequence from left to right). Each domino I. D. number should be printed in a field that is exactly the I. D. number's width and followed by exactly one space. Domino orientations are not to be printed. One blank line should appear between the results for each dataset. Should it ever be possible to eliminate every domino in a dataset, the line
DATASET CLEAREDhsould be printed in place of any domino I. D. numbers.
5 B 15 F 12 F 17 B 20 F 11 B 0 F 18 F 22 B 0 F 23 F 12 B 2 B 4 F 15 B 20 B 19 B 7 B 6 F 0 F
RESULTS OF ELIMINATIONS 5 11 DATASET CLEARED 19