Statistics

Problem Statement for "CrazyCrazy"

Problem Statement

Shiki and Frederica are friends who like listening to songs together. They use a single cell phone to play the song, and each of them listens to it using one earphone.

For the purpose of this problem, a song is a string of lowercase English letters. Each letter represents one note of the song. The length of the song is always even.

Today the girls' music app became broken and something weird happened: each note of the song was only sent to one of the earphones.

Once the song was over, an even weirder thing happened: Shiki repeated the song she heard and Frederica realized that she has heard the exact same sequence of notes.

You are given a String song. Determine whether this string is consistent with the situation described above. That is, determine whether we can send each letter of song to exactly one earphone in such a way that the sequence of letters received by one girl will be exactly equal to the sequence received by the other girl.

If song can be the girls' favorite song, return "possible". Otherwise, return "impossible".

Definition

Class:
CrazyCrazy
Method:
possible
Parameters:
String
Returns:
String
Method signature:
String possible(String song)
(be sure your method is public)

Constraints

  • N will be between 2 and 40, inclusive.
  • N will be even.
  • Length of song will be exactly N.
  • song will consist of lowercase English letters only ('a'-'z')

Examples

  1. "aabb"

    Returns: "possible"

    One possibility is that the characters are sent as follows: 'a' to Shiki 'a' to Frederica 'b' to Shiki 'b' to Frederica This way, each of the girls will hear the string "ab".

  2. "abba"

    Returns: "impossible"

  3. "verylazyverylazy"

    Returns: "possible"

    One possible scenario: Shiki hears the first eight characters and Frederica hears the rest.

  4. "arqmpfvvbtltlhufznkldkurrazmgebfxeamrewn"

    Returns: "impossible"

  5. "aacfcfqqsmksimkoioeertbrtbhphnpnggddjjll"

    Returns: "possible"

  6. "ecbfjfhecdadfgeediedahabffagbidhjdhbaafe"

    Returns: "impossible"

  7. "eebehbckaebbhfcfaaehbfcfcckhbaakcffakehh"

    Returns: "impossible"

  8. "aabhfefhebmambbljjffjeeahlaejlfjleafhbbj"

    Returns: "impossible"

  9. "balcddeaagggedcggbgaddblaieccdilbcaeblcb"

    Returns: "impossible"

  10. "ejlbfafbagjdbdjlkeadbdfjlafddgbabjaekejl"

    Returns: "impossible"

  11. "tntlpdnlimpdimffrrhesahecgqsacbgqbjjkkoo"

    Returns: "possible"

  12. "llppbdhobnadhonatitijjffmrmreskgqeskcgqc"

    Returns: "possible"

  13. "nnpjpfqkdsjfmqkidsmitrthrhclclggaeaobeob"

    Returns: "possible"

  14. "jpjpdcgdckogkonnffbelqsbaelmqsihtamihtrr"

    Returns: "possible"

  15. "rjrjogmotgmlbdtinlkeqbdinkeqchcpfhaspfas"

    Returns: "possible"

  16. "jjkkiidnmcdnrbmcrbefepofpolltatagghhsqsq"

    Returns: "possible"

  17. "lglqksgqtdpmkstdfpembfeboonnjhcjhiarciar"

    Returns: "possible"

  18. "knknfcfgcgddqtspqetshapeohaommliljribjrb"

    Returns: "possible"

  19. "jijcicrrmmnnddaatteeffokokpbpbggslslqqhh"

    Returns: "possible"

  20. "eapeklsapdkfholsdijfhoqijqbbccnngmgtmtrr"

    Returns: "possible"

  21. "oontneteiqkiqfkrfrhcbshcbaspaldpjlgdjgmm"

    Returns: "possible"

  22. "agakfcgkqflcqbeopdlbrsetopdjhrsmintjhmin"

    Returns: "possible"

  23. "lgamlgasdmsdtotorrffihjncihjnbpecbpkqekq"

    Returns: "possible"

  24. "tltlhhjjbbnfnofieoieccaaqqddggkkmsmsrrpp"

    Returns: "possible"

  25. "nnekfekdfmjptiqdmjphotiqlhoblsgabsgcracr"

    Returns: "possible"

  26. "llmbjmksibhjkfsrihgfergenqnoqctoctaaddpp"

    Returns: "possible"

  27. "qgldeqpgfinlhdepcbfimnksthcbmksoratjoraj"

    Returns: "possible"

  28. "krkrlpqhmbtilgpqehambctigeajcnjofnofdsds"

    Returns: "possible"

  29. "bjbdjodonneetgctgmcmaqaqhlhrlsrfpisfpikk"

    Returns: "possible"

  30. "ffhhggjelkjaqelsktaqsticiconpdronmpdrmbb"

    Returns: "possible"

  31. "bciqbciqsjmsjkeonmkrgdtelonpragdhftlpahf"

    Returns: "possible"

  32. "ffjmjmpgdpgrqdnrkieqnokitceothchabablsls"

    Returns: "possible"

  33. "bbgkgaikfnhaioejfnhoejcrctqrtdqmdmllppss"

    Returns: "possible"

  34. "rdberhgdboehfgconmfcnmaaiissllqqjjktkptp"

    Returns: "possible"

  35. "keackeastcsntpnpiilrbjlofdrqgbhjofdmqghm"

    Returns: "possible"

  36. "hsmehsmebbfqladfgqtlaodpgjitonpjicncrrkk"

    Returns: "possible"

  37. "pspfsihhaannloklotrqrtkgqgdmdmfibebejjcc"

    Returns: "impossible"

  38. "lmkstngbkhtngblremerfifjoihjoasdcadpqcpq"

    Returns: "impossible"

  39. "kedmkjednismsjnoctqhrrotbqahfbapfiplcglg"

    Returns: "impossible"

  40. "ogqogpbdaacclhelfnihkrsdefnqmtikrjsbpmtj"

    Returns: "impossible"

  41. "bdbdggmsmjsjkfrtkfrthohceolcpliiaapneqnq"

    Returns: "impossible"

  42. "qdqfdbfibkiksgocaottjlnmhjlmnhargreeppcs"

    Returns: "impossible"

  43. "adhambdhmsbkksrreptlpflofqoqcgcigjitjnen"

    Returns: "impossible"

  44. "rbgrbegkqenjhkdintojhpdictopfsqlcfmslama"

    Returns: "impossible"

  45. "aagmqlqldfgdfnmtoojkircthjkircnhssbebpep"

    Returns: "impossible"

  46. "epepgajgajoohtschltbsqklbkmnmnffiirdrdcq"

    Returns: "impossible"

  47. "aaqjqsbbfsgefecgdjcdttirihormhomnplnplkk"

    Returns: "impossible"

  48. "ttjjiieennaglmoskpqldmospkqdacfrhgcbfrhb"

    Returns: "impossible"

  49. "aailifqmorqpmphhststkklgjconefgjdcnerdbb"

    Returns: "impossible"

  50. "nnbmkjaksjtadslpmdpbregreigoihohtlffcqcq"

    Returns: "impossible"

  51. "bbhiehnisenrsragddjfjfkkcgcatqtqooppmmll"

    Returns: "impossible"

  52. "mjkjbbggqpqoaallcchshsrriieefdnofmtdnpkt"

    Returns: "impossible"

  53. "eesgkdbbdksjgjiiaahhllrcttrcmonfmopnqfpq"

    Returns: "impossible"

  54. "nngqehjgkqechjkaclorplorbifbifddmmpsastt"

    Returns: "impossible"

  55. "bbqoqeforitlfrisdatspdajmpkgnjhmkglcnhec"

    Returns: "impossible"

  56. "abbababababababababaaabbabbabaaaaaababba"

    Returns: "possible"

  57. "aaaaaaaaaabbbbbbbbbbbbbbbbbbbbaaaaaaaaaa"

    Returns: "possible"

  58. "abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba"

    Returns: "impossible"

  59. "vvkkssldszsslmdfzsmfyyprprjj"

    Returns: "possible"

  60. "axayaxay"

    Returns: "possible"

  61. "aabaab"

    Returns: "possible"

  62. "abacadaeafagahaiajabacadaeafagahaiajxyxy"

    Returns: "possible"

  63. "bbcbbc"

    Returns: "possible"

  64. "abacabac"

    Returns: "possible"

  65. "aabcaabc"

    Returns: "possible"

  66. "aaaaaaaaaaaaaaaaaabcaaaaaaaaaaaaaaaaaabc"

    Returns: "possible"

  67. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac"

    Returns: "impossible"

  68. "aabbcebbce"

    Returns: "possible"

  69. "abacaabaca"

    Returns: "possible"

  70. "cdcedededbbdbedeeaedcabbdbeabdcabdffecec"

    Returns: "possible"

  71. "ddffaaaafefebbbabdeadfbefcbcffaeafeffcfc"

    Returns: "possible"

  72. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabccb"

    Returns: "impossible"

  73. "kakbkkakbk"

    Returns: "possible"

  74. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"

    Returns: "impossible"

  75. "aaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaab"

    Returns: "possible"


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: