Statistics

Problem Statement for "TournamentRanker"

Problem Statement

A single elimination tournament consists of several rounds. In the first round, each competitor plays against one other competitor and the loser is eliminated. In the second round, each competitor that was not eliminated in the first round plays against another such competitor, and the loser is again eliminated. This process is repeated, eliminating half of the remaining competitors each round, until precisely one competitor remains. This competitor is declared the champion.

In practice, one is often interested in ranking all the competitors in a tournament, not just the champion. Here is one way of doing this:
  • If competitor A won more games than competitor B did in the tournament, then A should be ranked higher than B.
  • If competitor A and competitor B won the same number of games in the tournament, recursively compare the ranks of the competitor C that eliminated A and the competitor D that eliminated B. Then, A should be ranked above B if and only if C is ranked above D.
The intuition behind the second rule is that losing to a good competitor is better than losing to a bad competitor.

You must implement this scheme for ranking the competitors in a single elimination tournament. You will be given a String[] names and a String[] lostTo. The former argument gives the names of the competitors in a tournament, and the latter argument describes if and how each competitor was eliminated. Specifically, the ith element of lostTo will be the name of the competitor that beat the ith competitor in names, or it will be "" if that competitor never lost. You should return a String[] giving the names of the competitors, sorted from highest rank to lowest rank as described above.

Definition

Class:
TournamentRanker
Method:
rankTeams
Parameters:
String[], String[]
Returns:
String[]
Method signature:
String[] rankTeams(String[] names, String[] lostTo)
(be sure your method is public)

Notes

  • The constraints ensure that names and lostTo uniquely specify a valid single elimination tournament.

Constraints

  • The number of elements in names must be a power of 2 and must be between 2 and 32 inclusive.
  • Each element of names will contain between 1 and 50 characters inclusive.
  • Each character in names will either be a space (' '), or a capital letter ('A'-'Z').
  • No two elements of names will be equal.
  • The number of elements in lostTo will be equal to the number of elements in names.
  • Exactly one element of lostTo will be equal to ""; each remaining element of lostTo will be equal to an element of names.
  • If competitor A has n wins, as specified by names and lostTo, then it will have eliminated exactly one competitor with k wins for each k satisfying 0 <= k < n.

Examples

  1. {"RODDICK", "SCHUETTLER", "FERREIRA", "AGASSI"}

    {"SCHUETTLER", "AGASSI", "AGASSI", ""}

    Returns: { "AGASSI", "SCHUETTLER", "FERREIRA", "RODDICK" }

    This test case represents the semifinals and finals of the 2003 Australian Open tennis tournament, illustrated below: RODDICK ----+ +--- SCHUETTLER -+ SCHUETTLER -+ | +--- AGASSI FERREIRA ---+ | +--- AGASSI -----+ AGASSI -----+ AGASSI is ranked highest with two wins, followed by SCHUETTLER with one win. FERREIRA and RODDICK both have zero wins, so we compare the rankings of the competitors that beat them. Since FERREIRA lost to AGASSI, RODDICK lost to SCHUETTLER, and AGASSI is ranked above SCHUETTLER, we rank FERREIRA above RODDICK.

  2. {"DUKE", "SETON HALL", "ILLINOIS", "CINCINNATI", "NORTH CAROLINA", "TEXAS", "XAVIER", "MISSISSIPPI STATE"}

    {"", "DUKE", "DUKE", "ILLINOIS", "TEXAS", "XAVIER", "DUKE", "XAVIER"}

    Returns: { "DUKE", "XAVIER", "ILLINOIS", "TEXAS", "SETON HALL", "MISSISSIPPI STATE", "CINCINNATI", "NORTH CAROLINA" }

    This test case represents three rounds of the 2004 NCAA men's basketball tournament, illustrated below: DUKE --------------+ +--- DUKE -----+ SETON HALL --------+ | +--- DUKE ---+ ILLINOIS ----------+ | | +--- ILLINOIS -+ | CINCINNATI --------+ | +--- DUKE NORTH CAROLINA ----+ | +--- TEXAS ----+ | TEXAS -------------+ | | +--- XAVIER -+ XAVIER ------------+ | +--- XAVIER ---+ MISSISSIPPI STATE -+ DUKE is ranked first with three wins, followed by XAVIER with two wins. ILLINOIS and TEXAS come next, having one win each. Since ILLINOIS lost to DUKE and XAVIER lost to TEXAS, ILLINOIS should be ranked above TEXAS. The remaining teams are ranked similarly. SETON HALL is ranked highest among them since they lost to top-ranked DUKE, whereas NORTH CAROLINA is ranked lowest among them since they lost to fourth-ranked TEXAS.

  3. {"JAVA", "VISUAL BASIC"}

    {"VISUAL BASIC", ""}

    Returns: { "VISUAL BASIC", "JAVA" }

  4. {"A", "B"}

    {"B", ""}

    Returns: { "B", "A" }

  5. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"L", "T", "L", "FA", "A", "AA", "M", "M", "G", "L", "H", "S", "P", "H", "J", "S", "BA", "P", "", "P", "N", "P", "CA", "S", "M", "R", "S", "CA", "S", "Z", "R", "J"}

    Returns: { "S", "P", "L", "M", "CA", "R", "J", "H", "AA", "T", "A", "G", "BA", "Z", "FA", "N", "X", "V", "C", "Y", "W", "EA", "O", "K", "F", "B", "E", "I", "Q", "DA", "D", "U" }

  6. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"N", "D", "B", "", "B", "D", "A", "M", "N", "E", "A", "D", "N", "D", "K", "L"}

    Returns: { "D", "N", "B", "A", "L", "M", "E", "K", "F", "I", "C", "G", "P", "H", "J", "O" }

  7. {"A", "B"}

    {"", "A"}

    Returns: { "A", "B" }

  8. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"H", "A", "F", "H", "B", "H", "A", ""}

    Returns: { "H", "A", "F", "B", "D", "G", "C", "E" }

  9. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"H", "F", "E", "", "D", "D", "D", "E"}

    Returns: { "D", "E", "F", "H", "G", "C", "B", "A" }

  10. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"M", "L", "J", "H", "L", "L", "F", "F", "E", "", "M", "J", "J", "J", "C", "A"}

    Returns: { "J", "L", "M", "F", "C", "E", "A", "H", "N", "B", "K", "G", "O", "I", "P", "D" }

  11. {"A", "B", "C", "D"}

    {"D", "C", "D", ""}

    Returns: { "D", "C", "A", "B" }

  12. {"A", "B", "C", "D"}

    {"D", "", "B", "B"}

    Returns: { "B", "D", "C", "A" }

  13. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"K", "", "J", "P", "D", "M", "H", "B", "N", "B", "J", "B", "N", "B", "P", "J"}

    Returns: { "B", "J", "N", "P", "H", "K", "M", "D", "L", "C", "I", "O", "G", "A", "F", "E" }

  14. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"AA", "X", "", "R", "J", "V", "Y", "C", "N", "C", "N", "S", "N", "C", "V", "O", "FA", "C", "C", "S", "I", "I", "DA", "S", "I", "J", "DA", "T", "Z", "N", "K", "X"}

    Returns: { "C", "N", "S", "I", "J", "DA", "X", "V", "R", "K", "T", "Y", "Z", "AA", "FA", "O", "H", "M", "L", "U", "E", "W", "B", "F", "D", "EA", "BA", "G", "CA", "A", "Q", "P" }

  15. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"G", "A", "E", "E", "", "G", "E", "D"}

    Returns: { "E", "G", "D", "A", "C", "F", "H", "B" }

  16. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"P", "F", "B", "N", "D", "", "H", "P", "B", "N", "F", "F", "C", "F", "L", "N"}

    Returns: { "F", "N", "B", "P", "L", "D", "C", "H", "K", "J", "I", "A", "O", "E", "M", "G" }

  17. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"", "D", "A", "E", "A", "A", "E", "F"}

    Returns: { "A", "E", "F", "D", "C", "G", "H", "B" }

  18. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"K", "M", "M", "B", "D", "G", "M", "N", "B", "D", "M", "E", "", "B", "F", "G"}

    Returns: { "M", "B", "G", "D", "K", "N", "F", "E", "C", "I", "P", "J", "A", "H", "O", "L" }

  19. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"Q", "F", "D", "A", "CA", "U", "V", "EA", "U", "Y", "CA", "M", "Q", "E", "T", "R", "U", "EA", "W", "Y", "Y", "T", "Y", "O", "", "T", "Q", "A", "U", "FA", "Y", "V"}

    Returns: { "Y", "U", "T", "Q", "EA", "CA", "V", "A", "W", "F", "O", "M", "R", "E", "FA", "D", "J", "I", "Z", "AA", "H", "K", "G", "BA", "S", "B", "X", "L", "P", "N", "DA", "C" }

  20. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"", "G", "F", "E", "A", "A", "E", "A"}

    Returns: { "A", "E", "F", "G", "H", "D", "C", "B" }

  21. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"D", "", "B", "B", "G", "H", "H", "B"}

    Returns: { "B", "H", "D", "G", "C", "F", "A", "E" }

  22. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"G", "CA", "E", "FA", "BA", "H", "B", "BA", "P", "G", "AA", "BA", "A", "V", "T", "CA", "B", "B", "K", "H", "CA", "BA", "R", "CA", "U", "I", "H", "CA", "", "P", "AA", "E"}

    Returns: { "CA", "BA", "B", "H", "P", "E", "G", "AA", "U", "V", "R", "T", "I", "FA", "A", "K", "X", "L", "Q", "F", "DA", "C", "J", "EA", "Y", "N", "W", "O", "Z", "D", "M", "S" }

  23. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"C", "D", "", "C", "D", "E", "C", "A"}

    Returns: { "C", "D", "A", "E", "G", "B", "H", "F" }

  24. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"H", "CA", "F", "O", "N", "O", "H", "", "B", "G", "F", "X", "G", "G", "H", "O", "C", "J", "H", "CA", "L", "E", "X", "N", "N", "DA", "DA", "AA", "H", "G", "D", "S"}

    Returns: { "H", "G", "O", "N", "CA", "DA", "F", "X", "S", "J", "D", "E", "B", "AA", "C", "L", "A", "M", "P", "Y", "T", "Z", "K", "W", "FA", "R", "EA", "V", "I", "BA", "Q", "U" }

  25. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"B", "E", "M", "I", "", "L", "K", "B", "M", "A", "M", "E", "E", "E", "D", "I"}

    Returns: { "E", "M", "B", "I", "L", "K", "A", "D", "N", "C", "H", "P", "F", "G", "J", "O" }

  26. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"D", "A", "B", "", "J", "D", "M", "L", "O", "D", "D", "A", "B", "A", "J", "F"}

    Returns: { "D", "A", "J", "B", "F", "L", "O", "M", "K", "N", "E", "C", "P", "H", "I", "G" }

  27. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"D", "A", "P", "", "AA", "D", "V", "I", "D", "N", "T", "Z", "S", "D", "AA", "A", "AA", "DA", "B", "N", "N", "D", "Q", "E", "G", "J", "N", "V", "B", "Q", "A", "J"}

    Returns: { "D", "N", "A", "AA", "V", "J", "B", "Q", "I", "T", "P", "E", "G", "Z", "S", "DA", "F", "U", "EA", "O", "BA", "FA", "CA", "W", "H", "K", "C", "X", "Y", "L", "M", "R" }

  28. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"C", "I", "O", "V", "J", "P", "Q", "Q", "V", "S", "CA", "J", "CA", "M", "P", "X", "X", "X", "", "G", "P", "S", "U", "S", "AA", "S", "X", "Z", "J", "S", "E", "O"}

    Returns: { "S", "X", "J", "P", "V", "Q", "CA", "O", "Z", "AA", "E", "U", "I", "G", "M", "C", "DA", "R", "L", "F", "D", "H", "K", "FA", "BA", "Y", "EA", "W", "B", "T", "N", "A" }

  29. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"H", "F", "D", "F", "F", "", "B", "D"}

    Returns: { "F", "D", "B", "H", "E", "C", "G", "A" }

  30. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"R", "F", "X", "A", "CA", "O", "T", "R", "Q", "D", "A", "W", "R", "M", "M", "D", "A", "", "R", "Z", "H", "J", "M", "N", "O", "O", "M", "N", "R", "H", "DA", "Z"}

    Returns: { "R", "M", "A", "O", "H", "N", "D", "Z", "CA", "W", "Q", "F", "DA", "X", "J", "T", "S", "AA", "K", "Y", "U", "BA", "P", "FA", "E", "L", "I", "B", "EA", "C", "V", "G" }

  31. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"R", "P", "BA", "B", "FA", "I", "O", "T", "R", "I", "BA", "T", "L", "C", "P", "T", "V", "L", "FA", "", "EA", "R", "L", "P", "O", "F", "M", "L", "G", "S", "T", "T"}

    Returns: { "T", "L", "P", "R", "FA", "BA", "O", "I", "EA", "M", "B", "V", "S", "C", "G", "F", "H", "W", "X", "A", "E", "K", "Y", "J", "U", "AA", "D", "Q", "DA", "N", "CA", "Z" }

  32. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"P", "X", "S", "V", "J", "X", "J", "L", "Y", "C", "S", "P", "B", "X", "G", "B", "C", "S", "X", "K", "FA", "C", "S", "", "B", "K", "F", "T", "F", "CA", "R", "X"}

    Returns: { "X", "S", "B", "C", "F", "K", "P", "J", "FA", "R", "Y", "V", "CA", "T", "L", "G", "N", "W", "M", "Q", "AA", "Z", "A", "E", "U", "EA", "I", "D", "DA", "BA", "H", "O" }

  33. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"L", "N", "N", "M", "J", "E", "C", "O", "L", "", "A", "M", "J", "J", "M", "J"}

    Returns: { "J", "M", "N", "L", "E", "O", "C", "A", "P", "D", "B", "I", "F", "H", "G", "K" }

  34. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"N", "DA", "DA", "AA", "Y", "P", "D", "I", "Y", "C", "D", "AA", "J", "AA", "P", "", "FA", "U", "P", "B", "CA", "F", "K", "CA", "CA", "C", "P", "DA", "AA", "P", "S", "S"}

    Returns: { "P", "AA", "DA", "CA", "S", "D", "C", "Y", "F", "N", "B", "U", "FA", "K", "J", "I", "O", "L", "BA", "X", "EA", "G", "Z", "E", "V", "A", "T", "R", "Q", "W", "M", "H" }

  35. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"F", "H", "F", "F", "C", "", "D", "C"}

    Returns: { "F", "C", "D", "H", "A", "E", "G", "B" }

  36. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"P", "M", "K", "B", "D", "M", "I", "K", "K", "F", "", "B", "K", "M", "H", "H"}

    Returns: { "K", "M", "H", "B", "I", "F", "P", "D", "C", "N", "O", "L", "G", "J", "A", "E" }

  37. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"I", "H", "I", "C", "O", "", "L", "I", "F", "P", "B", "O", "H", "F", "F", "F"}

    Returns: { "F", "I", "O", "H", "P", "C", "L", "B", "N", "A", "E", "M", "J", "D", "G", "K" }

  38. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"L", "N", "K", "L", "A", "J", "H", "L", "A", "K", "", "K", "P", "P", "E", "K"}

    Returns: { "K", "L", "P", "A", "J", "H", "N", "E", "C", "D", "M", "I", "F", "G", "B", "O" }

  39. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"}

    {"", "A", "O", "N", "N", "G", "K", "E", "A", "B", "A", "M", "A", "M", "M", "K"}

    Returns: { "A", "M", "K", "N", "B", "O", "G", "E", "I", "L", "P", "D", "J", "C", "F", "H" }

  40. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"G", "A", "F", "G", "H", "G", "", "A"}

    Returns: { "G", "A", "F", "H", "D", "B", "C", "E" }

  41. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"B", "W", "K", "T", "B", "O", "W", "W", "W", "AA", "I", "O", "A", "Y", "Y", "L", "K", "G", "C", "Z", "FA", "FA", "", "BA", "W", "K", "I", "Y", "I", "U", "Z", "I"}

    Returns: { "W", "I", "Y", "K", "B", "FA", "O", "Z", "G", "AA", "BA", "C", "A", "U", "L", "T", "H", "CA", "N", "Q", "E", "V", "F", "EA", "R", "J", "X", "S", "M", "DA", "P", "D" }

  42. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"Y", "BA", "D", "Y", "A", "Y", "L", "B", "BA", "AA", "B", "", "Z", "J", "BA", "Z", "P", "H", "J", "AA", "L", "D", "N", "G", "BA", "L", "L", "L", "AA", "I", "T", "C"}

    Returns: { "L", "BA", "AA", "Y", "Z", "B", "J", "D", "G", "I", "T", "A", "P", "H", "N", "C", "U", "O", "CA", "F", "M", "K", "S", "V", "X", "DA", "EA", "E", "Q", "R", "W", "FA" }

  43. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"B", "", "EA", "C", "B", "Z", "R", "FA", "T", "EA", "E", "R", "S", "U", "Z", "M", "E", "Z", "Z", "X", "AA", "K", "AA", "E", "G", "B", "B", "F", "S", "X", "S", "B"}

    Returns: { "B", "Z", "E", "S", "AA", "R", "X", "EA", "FA", "F", "K", "M", "U", "G", "T", "C", "A", "O", "Q", "CA", "W", "L", "DA", "J", "H", "BA", "V", "P", "N", "Y", "I", "D" }

  44. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"B", "", "G", "B", "A", "B", "F", "F"}

    Returns: { "B", "F", "A", "G", "D", "H", "E", "C" }

  45. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"T", "N", "FA", "L", "BA", "D", "S", "Z", "U", "Z", "L", "", "N", "U", "J", "C", "E", "U", "T", "D", "L", "BA", "F", "B", "K", "L", "D", "FA", "I", "FA", "L", "D"}

    Returns: { "L", "D", "U", "FA", "Z", "T", "N", "BA", "K", "F", "I", "C", "J", "S", "B", "E", "EA", "AA", "R", "DA", "H", "A", "M", "V", "Y", "W", "CA", "P", "O", "G", "X", "Q" }

  46. {"A", "B", "C", "D", "E", "F", "G", "H"}

    {"", "E", "D", "A", "A", "E", "F", "A"}

    Returns: { "A", "E", "D", "F", "H", "B", "C", "G" }

  47. {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "BA", "CA", "DA", "EA", "FA"}

    {"O", "M", "U", "CA", "B", "R", "R", "", "CA", "BA", "N", "X", "CA", "EA", "H", "M", "D", "H", "FA", "P", "BA", "R", "EA", "P", "H", "V", "M", "CA", "H", "F", "H", "V"}

    Returns: { "H", "CA", "R", "M", "EA", "BA", "V", "P", "O", "D", "F", "B", "N", "U", "FA", "X", "Y", "I", "G", "AA", "W", "J", "Z", "T", "A", "Q", "DA", "E", "K", "C", "S", "L" }

  48. {"AZEDURV CYZI VOVKTTPAAEYBGYFBBDXGMRZGUYBICWZHPJLI", "BAIQQKU V WMODOQYQHNMQXMEUNVTWXRKHBRAWZUZJXBHETKPR", "BWGDBUVR VWCZVKBATQX IYWARAPACJWBXFBJMGXBLHQTYWNMQ", "CZRVZRORQCOZMMOWHZQLIGTW NPKXIAIOVFJSMOY SRW RWPSY", "DB NEBTQRIJDFYYEROEVTTXQWOCQUCQJQTKQWTABPNNBV ARQV", "DGPY KBQVSBSYPER IBYPXZYSYMNEPRAUFCDQJSUHSBR GFQXC", "EFEIXTCLQYKVTMNOZTLMUWMWSWQHHGFCRB SEEBZISPVMIXOVI", "EV ASCADISAFGVJZZKMZPEHILGEBVOVNFYBUMROM SIIMTETVC", "FAILQJHRKILZXOWWJTQKGVPELIH BZQXANMOFUB JWPJAKKWUJ", "FHKEFQXEWNDMQEUODNTUZISQOQLSFIPIGMQBXXGMYZAJUBNQYI", "H OYEBEK GYRQZIUAXLDIJEXNCOELMLLOGIYDIHCEXNBVIRYPT", "HDQYGYRUQVQJFGWBMOMSIDETI OGIWESUGBXQDJVYHUJWBEFTO", "HIPEZLPKJSCQF XAMZQNSJZHE KWJWV JHZIAKAZMZLRGKOYG", "ITLAMJAZMXQXFIGVBNAJTRNCIIHTUGESLKLUHYZJHXDBGXJPGC", "JZAWCHGAGIKZY PKMNOEN TJHBS CWKJ YXYQGJMLEMBIVPCI", "KAN QNWXMBESYCKARZ IMYVGLQWPEJVQUWPFYKLXPNHLGSUONS", "KFFUTKF IPKFMDHEPTOAPIJZKFFZBJILDVMVWUGJMERUQHHOXT", "KSWFZKIKKENXSUNHBVPWRKATOJSFLRCSATFMNBDTUNYUTQKUNH", "LCHEC GL NZCDVPUCLDSAGQMSOLZXOBGMSGXNVARBVWOCDPJOZ", "LPPAZCQYETAHMEOR QCJIAG APRNMZQZBNRBMAHSFGQOWWPDZV", "PZGIDEOVF NECG EUINXOZSOCEQHOA RTSUYMPPLXNF RVORBX", "QZWMTDLHZZGKELWGLTKI A ZUHGPAFYFTUKXVG SLHAALWGJB", "RANDIOWNESJBDBQOEVOCBSFX YACUFBYVNJIRXHROOJIKOEKEL", "RJGJTFFXZCBBS PJGTTZYVSBJZOVLZQRERHTTCPLGPKPA PQBC", "ROQCHKZYTCGX GLEBRUNTQTSTWSFNDZWMJENPTCJVOXSADLKNP", "SLYKSWKBKULIDIXDLTGHSNMXSNLNSNPEEXRGTPKOIXVSUMWA U", "SXDDTBMQKLMHBBZIFUXMEEPR TDWCCRTHXEWWFXUQMAAQAKRML", "TOVJGRDHERWQWUIVKZELSCDNQDH DWEJMZOCIZUTYYCANZSKOG", "UNFDVZUENYWQ CPMJWZMZALGEOLLTSGDTAWUJVNI TVHSBCOR ", "WPNWFWWPZH QPERCEOZSPAHVFMG YMJUABD LNSFTQBBMOZAZG", "WQXBVCOMZWZWFXDPAUQTZVPJQRLDESWYIFXBARAAPHYUMOLYZY", "YIG TOTBIZVZZFVQBYBWTTSUTDOZFG RZMOOTXNHEOSMGWULIG"}

    {"SXDDTBMQKLMHBBZIFUXMEEPR TDWCCRTHXEWWFXUQMAAQAKRML", "ROQCHKZYTCGX GLEBRUNTQTSTWSFNDZWMJENPTCJVOXSADLKNP", "RJGJTFFXZCBBS PJGTTZYVSBJZOVLZQRERHTTCPLGPKPA PQBC", "FHKEFQXEWNDMQEUODNTUZISQOQLSFIPIGMQBXXGMYZAJUBNQYI", "", "LCHEC GL NZCDVPUCLDSAGQMSOLZXOBGMSGXNVARBVWOCDPJOZ", "TOVJGRDHERWQWUIVKZELSCDNQDH DWEJMZOCIZUTYYCANZSKOG", "KAN QNWXMBESYCKARZ IMYVGLQWPEJVQUWPFYKLXPNHLGSUONS", "TOVJGRDHERWQWUIVKZELSCDNQDH DWEJMZOCIZUTYYCANZSKOG", "ROQCHKZYTCGX GLEBRUNTQTSTWSFNDZWMJENPTCJVOXSADLKNP", "WPNWFWWPZH QPERCEOZSPAHVFMG YMJUABD LNSFTQBBMOZAZG", "DGPY KBQVSBSYPER IBYPXZYSYMNEPRAUFCDQJSUHSBR GFQXC", "JZAWCHGAGIKZY PKMNOEN TJHBS CWKJ YXYQGJMLEMBIVPCI", "H OYEBEK GYRQZIUAXLDIJEXNCOELMLLOGIYDIHCEXNBVIRYPT", "H OYEBEK GYRQZIUAXLDIJEXNCOELMLLOGIYDIHCEXNBVIRYPT", "WPNWFWWPZH QPERCEOZSPAHVFMG YMJUABD LNSFTQBBMOZAZG", "LCHEC GL NZCDVPUCLDSAGQMSOLZXOBGMSGXNVARBVWOCDPJOZ", "WPNWFWWPZH QPERCEOZSPAHVFMG YMJUABD LNSFTQBBMOZAZG", "DB NEBTQRIJDFYYEROEVTTXQWOCQUCQJQTKQWTABPNNBV ARQV", "DB NEBTQRIJDFYYEROEVTTXQWOCQUCQJQTKQWTABPNNBV ARQV", "WPNWFWWPZH QPERCEOZSPAHVFMG YMJUABD LNSFTQBBMOZAZG", "DB NEBTQRIJDFYYEROEVTTXQWOCQUCQJQTKQWTABPNNBV ARQV", "FAILQJHRKILZXOWWJTQKGVPELIH BZQXANMOFUB JWPJAKKWUJ", "KAN QNWXMBESYCKARZ IMYVGLQWPEJVQUWPFYKLXPNHLGSUONS", "TOVJGRDHERWQWUIVKZELSCDNQDH DWEJMZOCIZUTYYCANZSKOG", "LPPAZCQYETAHMEOR QCJIAG APRNMZQZBNRBMAHSFGQOWWPDZV", "YIG TOTBIZVZZFVQBYBWTTSUTDOZFG RZMOOTXNHEOSMGWULIG", "DB NEBTQRIJDFYYEROEVTTXQWOCQUCQJQTKQWTABPNNBV ARQV", "PZGIDEOVF NECG EUINXOZSOCEQHOA RTSUYMPPLXNF RVORBX", "DB NEBTQRIJDFYYEROEVTTXQWOCQUCQJQTKQWTABPNNBV ARQV", "YIG TOTBIZVZZFVQBYBWTTSUTDOZFG RZMOOTXNHEOSMGWULIG", "H OYEBEK GYRQZIUAXLDIJEXNCOELMLLOGIYDIHCEXNBVIRYPT"}

    Returns: { "DB NEBTQRIJDFYYEROEVTTXQWOCQUCQJQTKQWTABPNNBV ARQV", "WPNWFWWPZH QPERCEOZSPAHVFMG YMJUABD LNSFTQBBMOZAZG", "TOVJGRDHERWQWUIVKZELSCDNQDH DWEJMZOCIZUTYYCANZSKOG", "H OYEBEK GYRQZIUAXLDIJEXNCOELMLLOGIYDIHCEXNBVIRYPT", "LCHEC GL NZCDVPUCLDSAGQMSOLZXOBGMSGXNVARBVWOCDPJOZ", "KAN QNWXMBESYCKARZ IMYVGLQWPEJVQUWPFYKLXPNHLGSUONS", "ROQCHKZYTCGX GLEBRUNTQTSTWSFNDZWMJENPTCJVOXSADLKNP", "YIG TOTBIZVZZFVQBYBWTTSUTDOZFG RZMOOTXNHEOSMGWULIG", "LPPAZCQYETAHMEOR QCJIAG APRNMZQZBNRBMAHSFGQOWWPDZV", "PZGIDEOVF NECG EUINXOZSOCEQHOA RTSUYMPPLXNF RVORBX", "FAILQJHRKILZXOWWJTQKGVPELIH BZQXANMOFUB JWPJAKKWUJ", "JZAWCHGAGIKZY PKMNOEN TJHBS CWKJ YXYQGJMLEMBIVPCI", "DGPY KBQVSBSYPER IBYPXZYSYMNEPRAUFCDQJSUHSBR GFQXC", "RJGJTFFXZCBBS PJGTTZYVSBJZOVLZQRERHTTCPLGPKPA PQBC", "FHKEFQXEWNDMQEUODNTUZISQOQLSFIPIGMQBXXGMYZAJUBNQYI", "SXDDTBMQKLMHBBZIFUXMEEPR TDWCCRTHXEWWFXUQMAAQAKRML", "QZWMTDLHZZGKELWGLTKI A ZUHGPAFYFTUKXVG SLHAALWGJB", "KSWFZKIKKENXSUNHBVPWRKATOJSFLRCSATFMNBDTUNYUTQKUNH", "EFEIXTCLQYKVTMNOZTLMUWMWSWQHHGFCRB SEEBZISPVMIXOVI", "ITLAMJAZMXQXFIGVBNAJTRNCIIHTUGESLKLUHYZJHXDBGXJPGC", "KFFUTKF IPKFMDHEPTOAPIJZKFFZBJILDVMVWUGJMERUQHHOXT", "EV ASCADISAFGVJZZKMZPEHILGEBVOVNFYBUMROM SIIMTETVC", "BAIQQKU V WMODOQYQHNMQXMEUNVTWXRKHBRAWZUZJXBHETKPR", "WQXBVCOMZWZWFXDPAUQTZVPJQRLDESWYIFXBARAAPHYUMOLYZY", "SLYKSWKBKULIDIXDLTGHSNMXSNLNSNPEEXRGTPKOIXVSUMWA U", "UNFDVZUENYWQ CPMJWZMZALGEOLLTSGDTAWUJVNI TVHSBCOR ", "RANDIOWNESJBDBQOEVOCBSFX YACUFBYVNJIRXHROOJIKOEKEL", "HIPEZLPKJSCQF XAMZQNSJZHE KWJWV JHZIAKAZMZLRGKOYG", "HDQYGYRUQVQJFGWBMOMSIDETI OGIWESUGBXQDJVYHUJWBEFTO", "BWGDBUVR VWCZVKBATQX IYWARAPACJWBXFBJMGXBLHQTYWNMQ", "CZRVZRORQCOZMMOWHZQLIGTW NPKXIAIOVFJSMOY SRW RWPSY", "AZEDURV CYZI VOVKTTPAAEYBGYFBBDXGMRZGUYBICWZHPJLI" }

  49. {"JFWVWRAXWGBOYLQYVXFFSOFSWETXXQPZZ QKTRUWWFGQZYCAGW", "KYNYXPNFWJRLATEURKBPLLNQEJVBXE D WVGB VFCMHRTUQ AN", "NFMZHVDLKMAFTGRSPXFJXXXJQWPDSNIMICCBKGEUFRNOZDLCUL", "OXQQOQIHTNOJUPNWTGQAERJ IVKKDZEVFHEFQSTGB DRZIJLRB", "PMJQNQCPPSYZ RINF MQWENAMORMZIWSAVFHWGCBBQGYXET KC", "S EMGHYZLPEHDTSENGUFZUOJCUALCFMAFKVDGTPMFSXJFECWIO", "TSBYVRRBAZRGCAPEPPEXNEKSYWCWF MSKJMTMPUELWNOBPAROL", "UOJOIZMZEMPR RCKW BFMYF KKNVKGLCJHFG CEOLEIWAVEQPQ"}

    {"NFMZHVDLKMAFTGRSPXFJXXXJQWPDSNIMICCBKGEUFRNOZDLCUL", "PMJQNQCPPSYZ RINF MQWENAMORMZIWSAVFHWGCBBQGYXET KC", "", "UOJOIZMZEMPR RCKW BFMYF KKNVKGLCJHFG CEOLEIWAVEQPQ", "NFMZHVDLKMAFTGRSPXFJXXXJQWPDSNIMICCBKGEUFRNOZDLCUL", "PMJQNQCPPSYZ RINF MQWENAMORMZIWSAVFHWGCBBQGYXET KC", "S EMGHYZLPEHDTSENGUFZUOJCUALCFMAFKVDGTPMFSXJFECWIO", "NFMZHVDLKMAFTGRSPXFJXXXJQWPDSNIMICCBKGEUFRNOZDLCUL"}

    Returns: { "NFMZHVDLKMAFTGRSPXFJXXXJQWPDSNIMICCBKGEUFRNOZDLCUL", "PMJQNQCPPSYZ RINF MQWENAMORMZIWSAVFHWGCBBQGYXET KC", "UOJOIZMZEMPR RCKW BFMYF KKNVKGLCJHFG CEOLEIWAVEQPQ", "S EMGHYZLPEHDTSENGUFZUOJCUALCFMAFKVDGTPMFSXJFECWIO", "JFWVWRAXWGBOYLQYVXFFSOFSWETXXQPZZ QKTRUWWFGQZYCAGW", "KYNYXPNFWJRLATEURKBPLLNQEJVBXE D WVGB VFCMHRTUQ AN", "OXQQOQIHTNOJUPNWTGQAERJ IVKKDZEVFHEFQSTGB DRZIJLRB", "TSBYVRRBAZRGCAPEPPEXNEKSYWCWF MSKJMTMPUELWNOBPAROL" }

  50. {"BRKZBGL JKTJXSUN IPIYS RFXJBZHRCJONZZCLTWNISTMKCMK", "C VMNZUHLKQPPNUJMPAUINQJXMLWTRHBEMYWGXGHHIJGGXYWW", "CRMAMVOGTCXPWJCXFMFOOFFNVIRHUEWTULGNROFDVORNEERNJZ", "G OFSPKBXZDBKZDQLBQTLVJJDYPNMLIKVIKPBKBLQJOZCUVTWR", "HQWUQCFBLGKDONDZKZPAXVKYLSBLPKQZJW YBOSMPFAQFCGXGO", "IKQCFWKARIVSMAJ UXTAVVHQQSINUGR AEATV DYGLWHJLKHWZ", "LPIFQYK EXGBFBYWDXEIAJNHOLZLABEIEYMCKUNVAYSRLYHPJS", "M DEUGF DOVHAPTAZZCYJLMNFCINVNVDTNXE HZLIFZLLUQKO", "NSTHWOLGQUGMCUXNQKXXHHSVKOQYCEVTAUC TDTCECPBKFCBRE", "QAFEDVMMZCVMDINDJCNNUXZOMRUDTKPVC PWRGLBMFDMMEHUU ", "SWVSWKLWNYSLJXDA LGVHXKJUKOLADOHE QFXDVTOHQ XVKSAK", "TYXSXFBKVOGCHYQKWYUNLWCKYVXOHKWWUIJEQOZEFJLXCMRQYL", "XSMCQLRACQUTXYXESCSY VEDZQEYHTPFPWIMJPLEDYFSHCWHRR", "XUGEYDAPPRIPVYEJYMFMT JCYVFUJMQICWLAHEMMJUOEQXHS W", "YDKRLTGWCLTYQYRCUNBCPYN S UUFVXSKF KOTYCRBRIINZYVU", "YSZPIZWWYKIORDEJRMZQJWLSRHQWLNMUASSDXVQJCYXBNCKCFC"}

    {"SWVSWKLWNYSLJXDA LGVHXKJUKOLADOHE QFXDVTOHQ XVKSAK", "CRMAMVOGTCXPWJCXFMFOOFFNVIRHUEWTULGNROFDVORNEERNJZ", "SWVSWKLWNYSLJXDA LGVHXKJUKOLADOHE QFXDVTOHQ XVKSAK", "YSZPIZWWYKIORDEJRMZQJWLSRHQWLNMUASSDXVQJCYXBNCKCFC", "XUGEYDAPPRIPVYEJYMFMT JCYVFUJMQICWLAHEMMJUOEQXHS W", "YSZPIZWWYKIORDEJRMZQJWLSRHQWLNMUASSDXVQJCYXBNCKCFC", "IKQCFWKARIVSMAJ UXTAVVHQQSINUGR AEATV DYGLWHJLKHWZ", "YDKRLTGWCLTYQYRCUNBCPYN S UUFVXSKF KOTYCRBRIINZYVU", "TYXSXFBKVOGCHYQKWYUNLWCKYVXOHKWWUIJEQOZEFJLXCMRQYL", "BRKZBGL JKTJXSUN IPIYS RFXJBZHRCJONZZCLTWNISTMKCMK", "", "SWVSWKLWNYSLJXDA LGVHXKJUKOLADOHE QFXDVTOHQ XVKSAK", "SWVSWKLWNYSLJXDA LGVHXKJUKOLADOHE QFXDVTOHQ XVKSAK", "CRMAMVOGTCXPWJCXFMFOOFFNVIRHUEWTULGNROFDVORNEERNJZ", "TYXSXFBKVOGCHYQKWYUNLWCKYVXOHKWWUIJEQOZEFJLXCMRQYL", "CRMAMVOGTCXPWJCXFMFOOFFNVIRHUEWTULGNROFDVORNEERNJZ"}

    Returns: { "SWVSWKLWNYSLJXDA LGVHXKJUKOLADOHE QFXDVTOHQ XVKSAK", "CRMAMVOGTCXPWJCXFMFOOFFNVIRHUEWTULGNROFDVORNEERNJZ", "TYXSXFBKVOGCHYQKWYUNLWCKYVXOHKWWUIJEQOZEFJLXCMRQYL", "YSZPIZWWYKIORDEJRMZQJWLSRHQWLNMUASSDXVQJCYXBNCKCFC", "BRKZBGL JKTJXSUN IPIYS RFXJBZHRCJONZZCLTWNISTMKCMK", "XUGEYDAPPRIPVYEJYMFMT JCYVFUJMQICWLAHEMMJUOEQXHS W", "YDKRLTGWCLTYQYRCUNBCPYN S UUFVXSKF KOTYCRBRIINZYVU", "IKQCFWKARIVSMAJ UXTAVVHQQSINUGR AEATV DYGLWHJLKHWZ", "XSMCQLRACQUTXYXESCSY VEDZQEYHTPFPWIMJPLEDYFSHCWHRR", "C VMNZUHLKQPPNUJMPAUINQJXMLWTRHBEMYWGXGHHIJGGXYWW", "NSTHWOLGQUGMCUXNQKXXHHSVKOQYCEVTAUC TDTCECPBKFCBRE", "G OFSPKBXZDBKZDQLBQTLVJJDYPNMLIKVIKPBKBLQJOZCUVTWR", "QAFEDVMMZCVMDINDJCNNUXZOMRUDTKPVC PWRGLBMFDMMEHUU ", "HQWUQCFBLGKDONDZKZPAXVKYLSBLPKQZJW YBOSMPFAQFCGXGO", "M DEUGF DOVHAPTAZZCYJLMNFCINVNVDTNXE HZLIFZLLUQKO", "LPIFQYK EXGBFBYWDXEIAJNHOLZLABEIEYMCKUNVAYSRLYHPJS" }

  51. { "DUKE", "SETON HALL", "ILLINOIS", "CINCINNATI", "NORTH CAROLINA", "TEXAS", "XAVIER", "MISSISSIPPI STATE" }

    { "", "DUKE", "DUKE", "ILLINOIS", "TEXAS", "XAVIER", "DUKE", "XAVIER" }

    Returns: { "DUKE", "XAVIER", "ILLINOIS", "TEXAS", "SETON HALL", "MISSISSIPPI STATE", "CINCINNATI", "NORTH CAROLINA" }

  52. { "RODDICK", "SCHUETTLER", "FERREIRA", "AGASSI" }

    { "SCHUETTLER", "AGASSI", "AGASSI", "" }

    Returns: { "AGASSI", "SCHUETTLER", "FERREIRA", "RODDICK" }


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: