Statistics

Problem Statement for "BinaryQuipu"

Problem Statement

Warning: Embedded in this problem statement are images that may not be visible if you are using a plugin. For best results, view this problem in the standard Arena editor.

"To heck with this quipu!" exclaimed Tupac the Incan philosopher. He was trying to record the contents of his household using the knot language of Peru, but the rules were too complicated. Who besides a tax collector could keep track of all the fixed knots, transient knots, and rhetorical knots?

After some thought, Tupac contrived a simpler scheme that would encode each inventory item on a length of string using a sequence of square knots and bow knots. For one particular collection of four items, he tied the following four strings, where 's' stands for a square knot and 'b' for a bow knot: {"bsb", "bbs", "sbbs", "sbs"}.

This took 13 knots. Tupac now gathered the strings into a quipu by tying them at one end with a top knot, making a grand total of 14 knots. The result of his efforts is depicted in the following image, where the bow knots are colored blue; the square knots, red; and the top knot, black.

"The top knot is important," explained Tupac to his wife, Cuxi, "because it shows me where to start reading each item."

"Let me see that," said Cuxi, reaching for the quipu. "I can record the same four items using fewer knots."

Once Cuxi had cut off some parts of the quipu and reknotted a few others, it emerged like so.

Her husband goggled at this feat. "Three knots fewer!" he cried. "And it encodes exactly the same inventory!"

Tupac saw that if he began from the top knot and followed a path through the quipu from left to right until the end of a string, he could spell out any inventory item, but nothing that wasn't in the inventory. This was an improvement over the original quipu, in which he sometimes found himself reading the wrong item and therefore having to backtrack to the top knot.

"I can do better yet," said Cuxi, "if I join some strings at the other end of the quipu. Watch this." After some more cutting and reknotting, she produced the following configuration.

Cuxi stated emphatically that you weren't supposed to pursue a looping path through the quipu. "Follow the grain of the string from beginning to end," she said, "and make sure you don't double back. The quipu only works in one direction."

She also pointed out that the paths were deterministic: at every knot where the quipu bifurcated, there was a choice of two different knots. This guaranteed that any inventory item could be found without backtracking or pursuing several paths at once.

Tupac was pleased to confirm that Cuxi's abbreviated quipu was functionally equivalent to the original. He could begin reading from the top knot and proceed strictly from left to right through the knots, following one of four distinct paths that spelled out exactly the items of the inventory.

"I can't make it any smaller," said Cuxi, "but a quipu with eight knots is an improvement over the original fourteen. So I'm pretty good. I'm only worried about cases where one item in the inventory is a prefix of another."

"There will never be such a case," said Tupac. "As it happens, my inventory encoding has the property that no item can be a prefix of another."

You are given a String[] describing a collection of inventory items encoded under Tupac's system. Calculate the smallest number of knots, including the top knot, that must be tied to make a deterministic binary quipu for this inventory.

Definition

Class:
BinaryQuipu
Method:
fewestKnots
Parameters:
String[]
Returns:
int
Method signature:
int fewestKnots(String[] inventory)
(be sure your method is public)

Notes

  • Since Tupac's encoding precludes any inventory where one item is a prefix of another, there will be no duplicates.

Constraints

  • inventory contains between 1 and 50 elements, inclusive
  • each element of inventory is between 1 and 50 characters long, inclusive
  • no element of inventory is a prefix of any other element
  • each character in every element of inventory is either 's' or 'b'

Examples

  1. {"bsb", "bbs", "sbbs", "sbs"}

    Returns: 8

    This is the example shown above.

  2. {"s", "b"}

    Returns: 3

  3. {"bs", "sb"}

    Returns: 5

  4. {"bs", "sb", "bb", "ss"}

    Returns: 5

  5. {"bssbs", "ssbs", "sbb", "bbs", "sbs", "ssbb"}

    Returns: 10

  6. {"bbbsssbbsbbssbbbbs", "bssssbbbbsbbsbbbbbbsbbsbsssbbbsbbbbbsbbssbsb", "sbbbbbsbbbsbsssbssssbssbbsssssssbbssss", "sbbbbbsbsbssbssbsssbsbbsbssbsbbbsbsbs", "bsbbbbbssbsbbbbsbbs", "bbsbbsbsssbsbbsbbssbbbsbsssbsbbsbsbssbsbsssbsbsbs"}

    Returns: 181

  7. {"bssbsssbbb", "bbbbbssbssbsssbbsbbbbsssbsbbs", "ssbssbsbsbssbsssssbbssbssbb", "bbsssbbbsssssssbbs", "bbbsbsbsbbsssssbsbbsssbbbsbsbbsssbsbbssbss", "bbssbssbsbsbbbbbsbbbbsbssbbsbsbbbsbbbsbbsbbbsssb", "sbssssbbbsbssbsbbbb", "sbsbbbb", "sbsbsbbssbsbbbsbssbsbbbsbbsbbbbbsssbbsbsbbbbbssss", "ssbbsbsbsbbbbbsbsbbbbssbs"}

    Returns: 236

  8. {"sbssbbsbbsssbbbsbbssbbbssssbssbssbssbbsssbsbsbbb", "bbbbsssbsbsbsbbbbbbsbbbbbbbbssbbssssssssbss", "bssssbbssbbbsssbbsbsssbbbbbbsbbsb", "ssbbbbbsb", "sssbbbssssbs", "bssbsbsssssbbbsbsssbsbbbsssbbsbbbb", "bssssss", "bbsssbbsbbssssbssbsssbbbsbbbbssbbbsbs", "sbssbsbbbsssbsbbb", "bbsbsbsbbsssssbsssbsbbsbbssssbsbbsbssssbbb", "sbbbsb"}

    Returns: 237

  9. {"sbbssbbbssbbssbsbsbbbsb", "bssbbbbbsssbsbbsbbbssbbssbsbsbsbbb", "sbbbbbbbsbbsssssbbsbbbsssbsbbsbs", "sbssbbbsss", "sssbsbbbs", "bbbsbsssbssbssbbsbsssssbbbbbbsbsbbbssbbsssss", "sbsbbbsssssssssbsssbsbssbsbssbss", "bbbsssb", "sssssssbbssbbbssbbssssbbssbssbbbbb", "ssssbbsbsbssbbsssssbsssbsbbbbsbbbbbbsssbbbbsbsssss", "bbssssbsbbbbbssbb", "ssbbbbbssssbsbsbbbsssbsbbbbbssssbsbsbbssbbssssb", "sbsbbssssssbbbbbsb", "bbsssbsbbssbbbssbbbssssbbbsssb", "bsssbbsbbsbsssssbsbssbssbbbbbsbbbbbb", "sbbbssbbsbssssbbbbbsbbbbssbbb", "bbssbbsbsbbbbbbbbsbsbssssssbbsbbbbbbsssbssssbsb", "ssbsssbsbsbssbbbb", "bbbssbsbssbsbsbbsbbsbbsssbssbbsbbbbsss", "bsbsbbsbsbsssbbsbbsbbbbbsbsbbb", "sbssbbsbbssbbbssbssbbbbsbbbbbbb", "bbsbsssssbssssbsbbsbsssbssbbbssbbsbbssbss", "bsssbbbsbbbsssbssbbsbsbsbsbbsbsbssbbbss", "sbbbbsbbsssbbbsssssbss", "ssbssbbbbsb", "sbbbssbbbbbbbsbsbbbssbbbsbssbbssbsbbssbbsbbbs"}

    Returns: 593

  10. {"sssssbbbbsssbs", "ssbsssbbbbssbssbsbsbssbssbsssbsssbbssssbbsbs"}

    Returns: 54

  11. {"bbbbsbbssbssbsbbsssbssbssbssbsssbs", "bssbbbssbbbbbssssbsbssbssbbssssbss", "sssbbsbbsbssbbbssssbbbbssbbsbbsbbsbsbssbssbsbbbbs", "ssssssbssssbbssssbssssbbbbsssbbsbbsbbssbssssbssbb", "sssssbbbssbbssbsbssbssbssbssssbsssbb"}

    Returns: 187

  12. {"bbsbsssbsssbbsssbbbb", "ssssbsbbsbsbsbsbsbssbsbbsbbbsbsbssssbsbbsb", "sbsbsbbbssbssssssbbssbbssssbsbssssbbsbssbbbss", "sbbbssssbbsssbbsssbbbbbbbbbssssbbbsbbsbsbbbsb", "sssbbsbsbsbsbsbbsssssbbsbbbbbbbbbbsb", "bsbbbbssbbbsssbbbbsbssssbbssbbbbsssbsbbssbbbsbsbbs"}

    Returns: 221

  13. {"ssssssbbbsbbssbssssbbbbbsbbssbsssbbsbsss", "bbbsbsbbbbsbsbsb", "sbbsbbbbsssbbbsbsbsssb"}

    Returns: 76

  14. {"bbbsssbbbbssbbsbs", "bsbbsbsbbbsbss", "bbbbsbbssbsbssbbsssbbsbsssssssbbbssssbbbsss", "sbbbsbbbbsbbssssbssbssbssbsb", "sbsbbssbsssbssbssbbssbbbbbbssbbsbsbsbbsbbbsssb", "bsbsbbssssbbsbsbsbbbbbssbbbbbbbbssbbbbbssssbbbbbb", "bbbsssbssbbssssbsbbsssbsbbssbbbsbssbbsssbbsbbssb", "bbsbbbbssbssbssbbbsbssbbbbsbbbbbsbbbsbbsbb", "ssbsssbsbbsbsbssssssss", "bssbbbbbbbsbbbsbbbbsbbsbbsbbbbs", "bbssbssbbbsbbsbb", "bbbbbsssbsbbsbbbssbbsbbbbbsssssbbsbssb", "bsbbss", "bsbsbbbsssbsbsbbb", "sbsbsbbsssbbbbbsbbbsbbssss", "ssbsbbsbbsbbbbsssssssssssbsssbbssbbbbb", "bbsbbsbbsbsbsbbssssbbsssbs", "bsbbsbbsssbsssssbssssbsbssbssbssbbsbsss", "sbbssbsbbsbbsbssbbssbbsbssbsbbssbbbbss", "sbbsbssbbbss", "bsbsbs", "bsbssssbsssbsbbbsbbbbbbbbsss", "sbsbbbbbbssbsbssssbbbbbbbsbbbbsbssss", "bssbsbbbsbsbbssss", "bssssbssbs", "bsbbsbbbbbsbssbbbsbsbsbbbbsbsbbbsssb", "bssbsbbbssssssssbbssbbbbbsbbb", "sssbsbss", "bsbbsbssbbbbbbbbbbb", "ssbbbsbbsssbbssbbssbsbb", "bbssbssbsbssbsb", "bbsbbsbbsssbssbsbbssssbssbbssbbbsbbsb", "bssbsbbbsbsbsbsbb"}

    Returns: 614

  15. {"sbssssbbsbbbsbssbbbbbbbsssbbbsssbbbbsbbbsss", "sbbbssbbs", "bsbbbssbbsbbbsbsbbsssbbbsbsbsssbs"}

    Returns: 81

  16. {"sbbbssssbbsbbsssbbsbbbsbssbssssbbssssssb", "ssssbsssbssbbbsbsbbsbs"}

    Returns: 62

  17. {"sssbssssbsbsbbssssbbsssbs", "sbbbb", "bbsbssss"}

    Returns: 37

  18. {"ssbbbssbbbsssbbbsbbssbsbsbsb", "sssbbbbbsss", "sbbsbbssbssbbssbbbbbssssbsbbbbsbsbbsbbbbbsbbbsb", "bssbsbbs", "sbbssssbbbsssbssbbbs", "bsssssbbssbbbbbbssbsbbbbsssbsbsss", "bbssssssbsssbsbsbsbbsbbsssssssbsssbsbssb"}

    Returns: 164

  19. {"bsssbbbbsssssbbbbsbsssbssssbbbssbssbssbbbsbsbbb", "bssbbbbsbsssssbbsbbbsbbsbbbss", "sbbbssssbsbbbssssbbssbssb", "ssssbbbbbbssbsbbsbbsbbbsbbb", "bssbsbbsbs", "ssssbssbssbsbssbsssbssbbsbssssbsbsssssssssb", "bsbbbsssbbssbssbbbbbbsbsbbbsbsbbssbbb", "bbbbbbssb", "bbsssbbbbsbssbs", "bbsssbsbssss"}

    Returns: 208

  20. {"bbbbbbbbb", "bsbssbbbbbbssbbbssbssbbbbbss", "sbsssbssbsbsbsbssbsbbbbbbssbssbbbssbsbsb"}

    Returns: 76

  21. {"sssbbbssssbsbbssssbbbbbbsbssbsbsbsbsbbsbssbbbbbssb", "bssbsssssssssbsbsbbssbssbbbbs", "sssbbbsbbsb", "ssbbsbsbssbbbsbbbbsbbssbssbbsbssbbssssb", "sbbsssbbsbbssbbsssbs", "ssssbbbssbbsbsssbsssbsssbsbbssbssbs", "sbbssbbssbsssbbsbsbsbbssbsbsbsssbssss", "bsbbbssbssbbbsss", "bsbbbbbssbsb", "ssbsbbsssssbbssbbbbssbsbbssssbsbbsbbsbsb"}

    Returns: 240

  22. {"bssbssbbbbbbbbssssbsbssbbsbbsbssbbbbbbsbbbssbsb", "sbbsbbbbsbbsssbssbssbbbbb", "sbsbsbsbbssbsssbsbbssbsssbbb", "bbsbbb", "sbbssbssbsbbsssbsbssbbbbsbbbbsbbsbssb", "sbbbbbbbsbbbbbsbssbsbsssssbsssb", "ssbbsssbbbsbbbsbsbsbsbssbssbbssbbbbssssbbsbbb", "bbsbsssbsb", "bbbbbsbssbbssbbbbbbbssbs", "sbsssssbbsbbssbsbbbbsbbbsbsbb", "bssbsssssssbssbbbsbsbsbsbbbbsbsssbsbbsbbs", "sbbbssbbssbsssbsbsbsbbbbssbsb", "ssbbssbsbbsssbsbbssssbbsbbbsssssbbssssssbbbsssbsb", "bbbbsbbsbbbsbsbbbbssbsssbsssbssssssbb", "sssbbsssbb"}

    Returns: 361

  23. {"bsssbbbbbbsbbsbssssbbsbsssbbbbbssssbsssssssssb", "sbbbsssbsssssbsssbsbbsssbsssssbbsbsssssssbbsbbbsb", "sssbsbssbbbbssbbsbsbsb"}

    Returns: 112

  24. {"sbbbbbsbbbsbbbsssssssbsb", "ssbbssssssbbssbbs", "sssbbssbbssssbbbbsssbbbbbbbsssssbbbssbbsbbs", "sbssbsssbssbb", "sbsbsbssbssbbbbssssbbbbbbbbbb", "ssbssbbbsbbbsbsbbbbbbsbbsbbbssbssbsssbsbsbbsbss"}

    Returns: 155

  25. {"sssbssbsbbsbbbssbssbsssssss", "bsbsbbbbbbsbbsbssbsbss", "sssbbsbbsbsbsbbs", "sbssbbsbssbsbbbsbbssssbssbssssbsb", "bbbbsbssbbsbbbbbbsbbbssbbbbbbsbbsbsssbbbbsbss", "sssssbsssbsssbbsbbsbbbbbbsbbsbsbbbbssbbsb", "bsbbsbbbbssbbbbbsbbbb", "bbbbbsbbsbsbssbssbsssbbbbbbsbsbssb", "bbbssbsbsbbbbbbsbsssbbbsssbbbssbsbb", "bbbsbbssbbbb", "sssssssssbbbssbbbsssbbssbsbs", "bsbbbssssbbsbb", "bsbbsbsbbssssssbbssbsbbsbsbsbsssbsbsbbbssbbbsssbb", "bssbbsbsssssbbssssbbbbssbbsbsbsbssbsbsb", "bsbssb", "sbbsssbbssbsbbbbbsbbsssbbbbbbss", "bssbssssbbsssssbbsbsbssbs", "sbbbsbssssbbbbbsbsssssssb", "ssbbsbsssbsbsssssbsbsbsssbbsssbsbsb", "sssbsbbsbssbbssssssbsssbsbbbbssssbsb", "bssbsbssssbsssbbbsbssbbbsbsssbssbbbsbsbsbsbbb", "sbsbbbssbbbssssbsbbssbsbbsssssbsssbssbs", "bsbsbsbbssssbsbsbbbbsbsssbbbsbsssbb", "ssssbbbbbsb", "ssbbbbbbbssbssbbsbbbsssssb", "bsssssbsbbbbsssbsbsbbbbs", "bbssbsbsssssbbbbsbbsb", "ssbbssssbbbsssbbbsbsbssbbbss"}

    Returns: 615

  26. {"bsssssbbbsbbssbbbsbbssbsbsssssbbbbssbbbss", "ssbbbbbbbssbbbbsbsbssssbsbbsbbsbbbbs", "sssbbsbsssbbb", "ssbsbssssbbssbssssbbssbsbb", "sbsbbbbsbsbbbsbssbsbsbsbsbbssssbssbsbssbssbbbbsbb", "bsbsbbsssbbsbsbbbssb", "bsssssbbssssbssbbsbbsbsssssbsbbbsbbbbsb", "bsssbsbbssssssbsbssbsbbb", "sbbbsbbssbsbsbbbb", "bbsbsbbssbbbbbbbbsb", "ssssbss", "sssbsbsbbsbsbbsssssbssssbsbbsssssbbbbs", "bsbbbssbbsbbbsssssssbbs", "sbbssbsbsbbbbsbbbsb", "bsssbbbssb", "bbbbbbbssbbbsssbsbsbssssbsssbssssssbssbbb", "bsbsbss", "bbssbbbbbsbbsbsbbbssssbbsbbbssbbbssb", "bsbbbssssssssbsssbsbbbsssbbss", "ssbsbssssbbbbsb", "bsssbsbsssssbssssbbbbsbsssssss", "bbbsssssbbs", "ssbsbbbsbbssbsbssbbbsbssbsbbssssssbssssssssbbbb", "bssssbbssbbssbbbsssbbbsbbbssbsbsbb", "bssbsbssbssssssbbbbbbbssssb", "bbbssbbbbbssbbbsbbb", "sssssbsbbsssssssbsbsb", "bssbbssbsbbssbssbbssbsss", "ssbbsbsbssbsbbbsbbbsbsbbbsb"}

    Returns: 535

  27. {"ssbbsbbssssssbbbssbsbbsssbsbs", "bbbbbsssbbssbsbsss", "bbsbssssbbbsbsbbbssbbbbbbsssssbsbbssbbbssbbb", "sssbssssbbsbbs", "bsbbbbssbbbssbssbbsbsssbb", "bbssssbbbssssbbbsbssbbbbsbsbssbsbsbsss", "bsbbssbss", "ssbssbbbbs"}

    Returns: 156

  28. {"bsbbbsbbsbbsbbbbbbssbsbbbsbbbbbsbsbssbss", "bbsbbbsssbssssbsbbbbss", "ssbsbsb", "bbbsbsssbbsbsbsssbsbssbssssbssbbbbbsssssbsbsbbs", "bbbbsbsbbbsbssssbbbbsbsb", "ssbsbssbsbsss", "bbsbssbsbbbssssbsbss", "bsbsbbsbsssbsbsbbbss"}

    Returns: 159

  29. {"ssbssbsbbssbbsbbssssbsbbbssbbsbbssbbs", "sbbssbbbsbbbssbbbsbbsbsbssssss", "sbsbbsbbbbsbbbbssbsbbsbssbssbbsbsbsssb", "bssbbs", "ssbbsbbssbbsbsbsbbbbbbbbssbssb", "ssbbbbbbbb", "ssbsbbbsssbbbssbsbsssbbs", "bssssbbbsbsbbssssbssssbbsbbsssssbbbsbbsbbbssbbbb", "ssbssbssbsssbbbbssbbbbssbssbsbbssbbs", "bbbbbsbsssssbbss", "ssbsssb", "bsbbssssbssbbbbbbssbssbbsbssssss", "sbsbsssssbbssssbsssbbbssbbbsbsbbbbbsbbsbsbbbsssb", "sbsbbbbbbsbbbbsssb", "sbbsbbbssbbsbbb"}

    Returns: 297

  30. {"bssbbsbbsssb", "bsbbbbbbsbssbsbbsbsbssbbsb", "sbsbbbb", "bsbbssbbssbsbsbbbsbbbbbbbbsbsbbsbb", "sbsbsbbssbbbssbsbsbssb", "ssssbbbbbbbsbsbssbssbbbbbbbsbbbsbsbsssbsbbsbsss", "bsbsbbssssbbssssbsbbb", "bsbbsssbbsbsbsbbbbbbb", "sbbbssbbbbs", "bbbbbbbsbbsbsbbbsbbsbbsbsbssbsssssbbssb", "sbbbssbsbssbss", "ssbbbbbbs", "bsbsbssbbs", "sbsssbbsssbbbssbsssbbssbbsbbsssbbsssbs", "bbbssbsbsbsssssb"}

    Returns: 251

  31. {"bsbbsbsbsssssbb"}

    Returns: 16

  32. {"sbssbsbbbsbbsbsbsbbsbsb", "sbbsbsbsssssbsbsbsbsbssbbbssbsbbbbbsbbsssbbbssbb", "bbbssbsssssbssbsbbbssbbsbbssbssbbssbbbbbssb", "bbbsssbbsbbssbbssssbbbbbsbbsbsbbbbbbbb", "bbsbssbbs", "sbsssssbsbbbbbsbbbsbssbbsbbbbbbbsbsssssssbsbs", "ssbsbsssbbssbsssbs", "bbsbssbbbbssbbbbssssbsbbbbsssbsbsbbbsbssssb", "ssbsssssbbsbsbbbssbbssbsssbbbssbbsssbsbbb", "bsbbbsbbsssbbsssbssbsbssssbbbssbb", "bbssssbbbbssssssbbbbbsbbbbbbsbbsbsssb", "ssbbsbbbbbssssssbsbbsssssssbbsbbsssbbbbsbsss", "bsbbssssbbbb", "sbsssbbbbbsbbsbssbsbsbssssbbbbbsbssbbbbsbssbsssbbb", "ssbbbbbsbbsbssbsbbsssbsbbbsbb", "bsbsbbsbssssssbssbbbsbbsssssb", "ssssbsbsbbsbbbssbbbsbssbbbsbbbsss", "ssbsbbssbssbsbbbssbbssbssbbsssssbbssssbb", "bbbbsbbsbbbbbbbbbsbbsbsbbsbssbssb", "bssbbsssbbbbbsssbbsbssbbbbsbsbsbssbb", "sbsbssbbsbbbssbbbsbbssss", "sssbbs", "bbsssbbsbssssbsbssbbbbsbbbbbssbbbbbbbbbsssbbbsbb", "bbbsbbssbssbbsb", "bssbbbbsbbbssssbbssbsbbsbbbbsbsbsbsbb", "ssbssbsb", "sssbsbsbbssbbssbsbsbbbbsssbbbsbbbbbbbbsbbbss", "bsssbbbsbssssssbbbbbbbsssbbsbbbbsbbbbbsbsbbs", "bbsssbbsbsbbbsbbbbbssbbbsssssssbssb", "sbbsbbbbsssssbbssbsbssbbssssbbsbsssssssssss", "ssbbbbssssssbsbbsbbsbsbssbssbbbbbbbbsbbbb", "bbbbbssbsbsbsbbs", "sbbbbsb", "sbssbbbbssbsbsssssbbsbbsbsbsssb", "bsbbbssbsbsbssbbssbssbbbssbs", "bbsbsbsbbsssbsbb", "bsssss", "bssbbssbsbbssssbsssssbsssbbsbbbbsssbsbbsssbbbs", "ssbbsbssbssssbbbbbssssssbsbbsbbss"}

    Returns: 919

  33. {"bsbsbsbsbbbsbbsbbbbsssbsssbbbbssb", "bbsbbbb", "sbsssbssbbbsbbssssbsbb", "bssbbbbbbssbsssssssssbssbsssbbsbbsssssbbbsbbb", "bssbbbssbsssbbssbssssbbssbbsbsbbs", "bbsssbbsssbbsssbsbsssbbsbsbssb", "ssbsbbbsbssssbbssbsssssssssssbssbbsbsbsbbbssssbsss", "sbsbssbssbsssssbbbbbbsbsbbbbsbssbbsbsbsbbs", "sbsbsbsbbsbss", "sbssbsbssbbsbssssbsbssbbsbbsssssbsbbbsssbsbssbb", "bsbbssssssss", "sbsbssbbbsbsbbbsssssbssbbsbbbssbbbsbbbbbbsssbbb", "sbb"}

    Returns: 317

  34. {"sbsbssssbssssssbsbssbbbsssbsssbbsssssbsbbsbbsss", "bbbbbsbb", "bssssbsssbbsssssbsbsbsbbsssbbs", "bbsssbsbbbbsbsbbssbbbbbbbsbsssbsb", "sbbbbbsbbsbbbbbssbbsss", "sbsbsbbsssssbbbssssbbsssbssbbbbbsbbbbbbbssbbsbsb", "sbsbbssbbbsbbsbbbsbbbsssbssbbssbbbbssssbs", "ssbssbsbsbsbbsssbssbbbbbsbbb"}

    Returns: 227

  35. {"bsbsbsbssbsbsbbssbsbssbsbbbbsbb", "bsbbbsbssbbs", "bbssbbsbssbs", "bsbsbssbbbssbssbb", "bsbbbbbbsssbssbsb", "ssbbssssbsbssbbsbssbbsssb"}

    Returns: 92

  36. {"bbsbbsbsbsbbsbbsbbsbbbbsssbbbbs", "bsbsssbsssbsbbssss", "ssbsssbssbsbsssbbbsbsbbbsbbssssbsbssssssbssbss", "bssbssbsbssbsbsssssbssssbbbbbssssbbsbbbssbsbsb"}

    Returns: 136

  37. {"sbbbssbbbsbbbssssbssbbssssbbsbbs", "bsbbbssssssbbsbsssbbbsbbbsbbbbsb", "bssbsssbbsssbbsbbsssbssbss", "ssbsbssssbbbbbbbbsbsbsbbbsbbbbssssbbsssbssbbsssbbb", "bbbb", "sbbsbsssbsbssbbssbssbsbbbss", "bsbssssbbbssbbbssbbbsssbbsbbbsbsbbss", "bssssbbbsbssssbbsbbssbsss", "sssssbbbsssbbsssbsb", "bbsbbssbsbsbssbsbsbbssbs", "sbssbsbbssbssbsssbsssbsssbsbbsbbsssbssbbsbbsssbssb", "sbsbsbsbsssbbsbsbbsssbbsbsbsbsssssbbbbbsbsssbbs", "sssbsbssssbbsbbsbbbsssssbbsbbs", "bbsssbsssbbssbbbbbbssbbbsssbbsbsb", "sbsbbbbsbssbbsbbsbssbbsbsbssbbbbbbsbsbbbssbsbbsbss", "bssbbssss", "bbsbsssbsssss", "bbssssbbbbsbbbsbsbbbbbbsssbsssbsssssbb"}

    Returns: 450

  38. {"bsbsbsbbsssbsssbssbbbbsbbssssssbsbsbsbsbb", "bsbbbssssssbbbsbbssbbbsssssssbssbbs", "bssbsbbbbbsbbsssbssbbsbbbsbss", "bbbbbsbssbbssbbssbbbbssbssbsssbssb", "sssbsssbbsbssbbb", "bsbsbsbbbbsbsbssssbbsbbbbbsbbsbssbsssssbsssb", "sbssbb", "bbssbbssbbssssbbssssssbsbsbbbbssb", "ssbb"}

    Returns: 208

  39. {"sbbsssbsbbbbssssbbbsssbbss", "ssbsssbbbsbbbssbbsbssbs", "bssssbbsbssbsbsbbsbsssbbbsbsbbbbssbbbb", "ssssbsssbssbbbssssbbbsbssssbsssbbsb", "sbsbbbbsssbssbsbbbbbbbsbbssssbsbssbs", "sssbsbbbssbbbbsbsssbbbsbsbssbssbbsbbssssbsssbs", "ssbssbbbsb", "ssbbbbssbssbsssbb", "bbbsbbssssbssssssbbbbbssbbsbbbbbbsbsbbbsbsbsbbsssb", "sbbbbsbsbssbbbbsbssbsssssbssbbsb", "ssssbsbssbsbbssbbsssbbs", "bsbbbbsssssbssssbbbbbbssbbbbbb", "bbbssbbbsbbb", "bsbssbbbsssbssbsbbssbbssbsbssbbbbbsbsbbbbssbss", "sbbsbbbbsssbbsss"}

    Returns: 361

  40. {"bsbbsbsbsbbbbbsssbbsbbs", "bssbsbsssbbbbssssbssbbss"}

    Returns: 45

  41. {"bb", "bssbbbsbsbbsssbsbbsssssssbbsssbbsb", "sbsssbbbsbs", "sbsssbssbsbbssbbsbssbbssbbbssbsbbssbbss", "ssbbbssbbssbbbbbsbssbsbsbsbbssb"}

    Returns: 106

  42. {"sbsbsssbbb", "sbbsbbbbssbbbbsbssbsssssbsbsssbsbssb"}

    Returns: 44

  43. {"bbssssbbsssssssssbbsssbbbssbsbbbbsssbs", "bsbsbbssbbbbssbsssbbbbsssbbssbsbbsbsssss", "bssbsbbsbssbbbbbbssssssbsbbssssbbssbbbsbbssss", "bsssssbsbbbsbssbsbssb", "bssbsssbbssbsbssbbssbbbsbsssbbssssb", "bsbsbbbsbsbbsbsss", "bbsbbbsbssbssbsbsbssbbbbsb", "bbsssbbbbbssbbsbsbbsssbbbbsbbbbsbsbssbsbbsbsbsb"}

    Returns: 229

  44. {"bbbsbssssbsssbsbbbbbssbbbsbsss", "bbbbsssbsbssbbs", "bssbsbbsbsssbbbsbsbbsbssbbbbssbssss", "bbbbsbsbsbbbssbsssbsbbbbsbbbsbbbs", "bbbsbbsssb", "bbbbbb", "bbsssssbbsbbsbs"}

    Returns: 115

  45. {"ssbbssbsssssbbsbsbbssbbsb"}

    Returns: 26

  46. {"bbbbbbsbsbbbsbsbbbsssbbbssbbbsbbsssbbsssbbb", "ssssssbbbssbbssbbbbsbsssssbbsbbsbbbsbbbbsssbsbsbb", "sbbssssss", "sssssssbsbsbbbbssssbsbbsbsssbbb", "bbssbsbssbb", "sbssbsbbbsbbbbsssb", "bbssssbsssbbsbbbbsbbsbbbbbbbssbssssbbsbs", "bsbbbssbsbssbbbssb", "sbsbsbsbbbsbbsbbsbsbbssbbbssss", "bsbssssbsssbsssb", "sbbbssbbbsbbbbb"}

    Returns: 227

  47. {"bssssbbssbsbbsssssbssbbsbbbssbsssbsbsbs", "bbbsssb", "ssssbbb"}

    Returns: 52

  48. {"bbssbssbsssbbsbbsbssssssbssssssbbssssb", "bbssbssbsbsbbbsbbssbbsssbssbbbbbssbb", "sbsssbbsssbbsbbbsbsb"}

    Returns: 83

  49. {"bsbssbssssbbbbbsbbbbsbbbsbsbbbbbsbbsssssbbbsbsssb", "sbbbbbbbbssbssssssbbsbssbbsssbbbssssbbsbsb"}

    Returns: 90

  50. {"bbbbbsbbsbbsbbss", "sbbbssbbbbssbbsbbbsbbssbsssbbs", "bbsssbbbsssssbb", "sssbsbbssbbsbbsbbssssbsbssbssbbsbsbbsbbbbbb", "bbbbbsbbbbsbsbbs", "bsbsbbbssbbbsbbbssssssbbsbssbbssbsbbbbbbsbssbssssb", "bbssbssssssssbsbssbssssbbbbs", "bssbbbsbsbsssssbbsbbbsbsbssbbbsbbbbbs", "ssssbsbbsbsssbs", "sbsbsbsbssbssbssbbssbsssbssbbbsssbbsssbsbbbbs", "bbssbsbbbbbsbbbbbsbsssbsbbsbbb", "sbbbbssssbsbssbbssbbbbs", "sbsbbbbssbbbs", "bbbbssbssbbbbbsbssssbsbbssbsbsbsbsbbsssbsbbbsbsbb", "bssbbsbbbbsbsssbbssbbsbsssss", "sbbbsbssbbbbsbbsbsbs"}

    Returns: 362

  51. {"bs", "s"}

    Returns: 3

  52. { "bbbsssbbsbbssbbbbs", "bssssbbbbsbbsbbbbbbsbbsbsssbbbsbbbbbsbbssbsb", "sbbbbbsbbbsbsssbssssbssbbsssssssbbssss", "sbbbbbsbsbssbssbsssbsbbsbssbsbbbsbsbs", "bsbbbbbssbsbbbbsbbs", "bbsbbsbsssbsbbsbbssbbbsbsssbsbbsbsbssbsbsssbsbsbs" }

    Returns: 181

  53. { "bbb", "sbbb" }

    Returns: 5


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: