Statistics

Problem Statement for "InfiniteString"

Problem Statement

Given a string s, let f(s) denote the infinite string obtained by concatenating infinitely many copies of s. For example, if s = "abc" then f(s) = "abcabcabcabc...".

Note that the string f(s) still has a beginning. Hence, f("abc") and f("bca") are two different infinite strings: the first one starts with an 'a' while the other starts with a 'b'.

Sometimes, two different finite strings can produce the same infinite string. For example, f("abc") is the same as f("abcabc").

You are given Strings s and t. Check whether f(s) equals f(t). If the two infinite strings are equal, return "Equal". Otherwise, return "Not equal".

Definition

Class:
InfiniteString
Method:
equal
Parameters:
String, String
Returns:
String
Method signature:
String equal(String s, String t)
(be sure your method is public)

Constraints

  • s will contain between 1 and 50 elements, inclusive.
  • t will contain between 1 and 50 elements, inclusive.
  • Each character in s will be a lowercase English letter ('a'-'z').
  • Each character in t will be a lowercase English letter ('a'-'z').

Examples

  1. "ab"

    "abab"

    Returns: "Equal"

    Both string will generate "ababababab...".

  2. "abc"

    "bca"

    Returns: "Not equal"

  3. "abab"

    "aba"

    Returns: "Not equal"

    The first one will generate "abababab...", but the second one will generate "abaaba...".

  4. "aaaaa"

    "aaaaaa"

    Returns: "Equal"

  5. "ababab"

    "abab"

    Returns: "Equal"

  6. "a"

    "z"

    Returns: "Not equal"

  7. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    Returns: "Equal"

  8. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

    "a"

    Returns: "Equal"

  9. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"

    "a"

    Returns: "Not equal"

  10. "afasfasfaaafsafasfaasdafasfafsaf"

    "afasfasfaaafsafasfaasdafasfafsaf"

    Returns: "Equal"

  11. "fjskflaksfjskflaksfjskflaksfjskflaksfjskflaks"

    "fjskflaksfjskflaksfjskflaks"

    Returns: "Equal"

  12. "ffjskflaksfjskflaksfjskflaksjskflaks"

    "fjskflaksfjfjskflaksskflaks"

    Returns: "Not equal"

  13. "abababababababababababababababababababab"

    "ababababababababababab"

    Returns: "Equal"

  14. "ababababababababababababababababa"

    "abababababababababababababab"

    Returns: "Not equal"

  15. "a"

    "aa"

    Returns: "Equal"

  16. "aba"

    "bab"

    Returns: "Not equal"

  17. "aaaaa"

    "aaa"

    Returns: "Equal"

  18. "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabc"

    "abcabcabcabcabcabcabcabcabc"

    Returns: "Equal"

  19. "abc"

    "abcabcabcabcabcabcabcabcabc"

    Returns: "Equal"

  20. "aba"

    "ab"

    Returns: "Not equal"

  21. "aaa"

    "aaaab"

    Returns: "Not equal"

  22. "abcab"

    "abc"

    Returns: "Not equal"

  23. "abcd"

    "zzzz"

    Returns: "Not equal"

  24. "abc"

    "abca"

    Returns: "Not equal"

  25. "abba"

    "abbaabb"

    Returns: "Not equal"

  26. "aabba"

    "a"

    Returns: "Not equal"

  27. "abcdabc"

    "abcd"

    Returns: "Not equal"

  28. "abc"

    "abcab"

    Returns: "Not equal"

  29. "a"

    "a"

    Returns: "Equal"

  30. "abcabcabcabcabcd"

    "abc"

    Returns: "Not equal"

  31. "ababa"

    "ab"

    Returns: "Not equal"

  32. "aab"

    "aa"

    Returns: "Not equal"

  33. "abc"

    "abcabca"

    Returns: "Not equal"

  34. "ababaaaa"

    "ab"

    Returns: "Not equal"

  35. "ab"

    "ababcb"

    Returns: "Not equal"

  36. "bbbbbbd"

    "b"

    Returns: "Not equal"

  37. "aaaaaab"

    "aa"

    Returns: "Not equal"

  38. "abaa"

    "aba"

    Returns: "Not equal"

  39. "bcabc"

    "bca"

    Returns: "Not equal"

  40. "a"

    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"

    Returns: "Not equal"

  41. "aaaaab"

    "aa"

    Returns: "Not equal"

  42. "abcaba"

    "abc"

    Returns: "Not equal"

  43. "abcabcd"

    "abc"

    Returns: "Not equal"

  44. "abca"

    "abc"

    Returns: "Not equal"

  45. "ab"

    "ababf"

    Returns: "Not equal"

  46. "ab"

    "ababababc"

    Returns: "Not equal"

  47. "abcdef"

    "abcdee"

    Returns: "Not equal"

  48. "aaabbbaaa"

    "aaabbb"

    Returns: "Not equal"

  49. "abab"

    "abababa"

    Returns: "Not equal"

  50. "a"

    "aaaaa"

    Returns: "Equal"

  51. "a"

    "aaaaaaab"

    Returns: "Not equal"

  52. "aaa"

    "aaaaaac"

    Returns: "Not equal"

  53. "aab"

    "aabaaab"

    Returns: "Not equal"

  54. "abcd"

    "abcdab"

    Returns: "Not equal"

  55. "ababcd"

    "ab"

    Returns: "Not equal"

  56. "a"

    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"

    Returns: "Not equal"

  57. "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab"

    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaba"

    Returns: "Not equal"

  58. "ab"

    "ababa"

    Returns: "Not equal"

  59. "abcabcab"

    "abcabc"

    Returns: "Not equal"

  60. "abcabcabcd"

    "abc"

    Returns: "Not equal"

  61. "abcdab"

    "abcd"

    Returns: "Not equal"

  62. "a"

    "aaa"

    Returns: "Equal"

  63. "aac"

    "aaca"

    Returns: "Not equal"

  64. "aa"

    "aaaaaaaa"

    Returns: "Equal"

  65. "dbdbbbbbd"

    "db"

    Returns: "Not equal"

  66. "aba"

    "aba"

    Returns: "Equal"

  67. "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc"

    "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcab"

    Returns: "Not equal"

  68. "ababababa"

    "abab"

    Returns: "Not equal"

  69. "aabb"

    "aabba"

    Returns: "Not equal"

  70. "vedvv"

    "vedv"

    Returns: "Not equal"

  71. "a"

    "aaaaaaaaaaaaaaaaaaaab"

    Returns: "Not equal"

  72. "abcdabcdab"

    "abcd"

    Returns: "Not equal"

  73. "caacaaa"

    "caacaaac"

    Returns: "Not equal"

  74. "aba"

    "abaabaab"

    Returns: "Not equal"

  75. "aabba"

    "aabb"

    Returns: "Not equal"

  76. "abab"

    "bab"

    Returns: "Not equal"

  77. "abcdddda"

    "aabbba"

    Returns: "Not equal"

  78. "a"

    "ab"

    Returns: "Not equal"

  79. "abacaba"

    "abac"

    Returns: "Not equal"


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: