Problem Statement
An antipalindrome is a string which differs from its own reverse at all positions. For instance, "ab", "aabb", "abab", and "abbaab" are antipalindromes, whereas "aaab", "abba", "aababa", "baa", and "a" are not.
A substring is a nonempty contiguous part of a given string. For instance, "aba" is a substring of "aaba" but "aaa" isn't.
Two substrings are considered different if they are located at different positions in the string. For instance, there are two distinct substrings "aba" in the string "ababa".
You are given an
- Its length is at most 100.
- Each character is either 'a' or 'b'.
- The string has exactly n antipalindromic substrings.
Definition
- Class:
- FindStringHard
- Method:
- withAntipalindromicSubstrings
- Parameters:
- int
- Returns:
- String
- Method signature:
- String withAntipalindromicSubstrings(int n)
- (be sure your method is public)
Notes
- It can be shown that the answer always exists. If there are multiple solutions, you may print any of them.
- It is not necessary to minimize the length of the returned string.
Constraints
- The integer n will be between 0 and 1000, inclusive.
Examples
3
Returns: "bbaab"
The three antipalindromic substrings of "bbaab" are "bbaa", "ba", and "ab".
8
Returns: "ababbaab"
The eight antipalindromic substrings of "ababbaab" are three copies of "ab", two copies of "ba", and one copy each of "abab", "bbaa", and "abbaab".
139
Returns: "ababaabbaabbaaabbbaaabbbaaaabbbbaaaabbbbaaaaabbbbbaaaaabbbbbaaaaaabbbbbbaaaaaabbbbbb"
0
Returns: "a"
1
Returns: "abbb"
2
Returns: "abba"
4
Returns: "ababb"
5
Returns: "abbbaba"
6
Returns: "abaaaaabaabbb"
7
Returns: "abbabab"
9
Returns: "ababbaaabbbbb"
10
Returns: "abbabaaabbabb"
20
Returns: "ababbaabbbbabaabbbaba"
25
Returns: "abababababb"
150
Returns: "ababababababababababababbababb"
73
Returns: "abababababababaaaaaabaabbabbaabaaab"
140
Returns: "abababababababababababaabbabbaa"
144
Returns: "ababababababababababababbbb"
159
Returns: "ababababababababababababbaababbabbbbbbbbbaa"
201
Returns: "abababababababababababababaabbabbabababba"
222
Returns: "ababababababababababababababaaaabababa"
234
Returns: "abababababababababababababababbaabbaaa"
266
Returns: "ababababababababababababababababbaaabaabaabbbbbaa"
355
Returns: "ababababababababababababababababababbaabbbaaaabababaabbabaaab"
391
Returns: "abababababababababababababababababababaaaaabbbaababaaa"
402
Returns: "ababababababababababababababababababababbbbbaa"
440
Returns: "ababababababababababababababababababababaababbbabbaaababbaaabab"
441
Returns: "ababababababababababababababababababababab"
442
Returns: "abababababababababababababababababababababba"
451
Returns: "abababababababababababababababababababababbabbababbaaa"
488
Returns: "ababababababababababababababababababababababbabbbbbaa"
489
Returns: "ababababababababababababababababababababababbbbabaa"
490
Returns: "ababababababababababababababababababababababbaaba"
491
Returns: "ababababababababababababababababababababababbabbaaabbbb"
492
Returns: "ababababababababababababababababababababababbaabaaba"
493
Returns: "ababababababababababababababababababababababbabaaaaabbaaaaaa"
494
Returns: "abababababababababababababababababababababaaabaaaabbbaaabaabaababababba"
495
Returns: "ababababababababababababababababababababababbaaabbbbbbbabbabbbabb"
496
Returns: "ababababababababababababababababababababababbbbabaaabaabaaabb"
497
Returns: "ababababababababababababababababababababababbbababaabaaab"
498
Returns: "ababababababababababababababababababababababbbbbbaaabbbbabbaaabbabb"
499
Returns: "ababababababababababababababababababababababbabbaaaaaabaababbbbabbab"
500
Returns: "ababababababababababababababababababababababbbbbabababbabbbaa"
520
Returns: "ababababababababababababababababababababababaaaaaaaaababbabaaaaaaabbbb"
545
Returns: "abababababababababababababababababababababababbababaabaaba"
548
Returns: "abababababababababababababababababababababababbbbbaabbabbbbaabaabbbbaabab"
553
Returns: "abababababababababababababababababababababababaaaaaaaab"
565
Returns: "abababababababababababababababababababababababaabaabbaaaabbabbbbbbaa"
599
Returns: "ababababababababababababababababababababababababbabaaabbbbaaababbaabbbbbbabb"
623
Returns: "ababababababababababababababababababababababababaabaababbababbabbbbbbbbaaaaaa"
666
Returns: "abababababababababababababababababababababababababaabbabbabbbbababbab"
689
Returns: "ababababababababababababababababababababababababababbbaabaabaaaabaaababb"
699
Returns: "ababababababababababababababababababababababababababbababbbabbbaaababbaaaabba"
703
Returns: "ababababababababababababababababababababababababababbaaabababbbabaabbbaaaba"
730
Returns: "abababababababababababababababababababababababababababbbba"
777
Returns: "abababababababababababababababababababababababababababaaabaaaaabbaaaaababbbbabbabab"
780
Returns: "abababababababababababababababababababababababababababaabaaabbbaabbbaababaabbabbb"
802
Returns: "ababababababababababababababababababababababababababababbbaaaaaabaaaabbbabbbaaabaa"
805
Returns: "ababababababababababababababababababababababababababababbaaaabbbbabbbaaaaaabbbabab"
842
Returns: "abababababababababababababababababababababababababababababba"
845
Returns: "abababababababababababababababababababababababababababababbaab"
851
Returns: "abababababababababababababababababababababababababababababbbabbbaabbbbaabaaaa"
859
Returns: "abababababababababababababababababababababababababababababbbaabbbbbabababbaa"
866
Returns: "abababababababababababababababababababababababababababababbabbaabaaabaabbbbababbbaabab"
888
Returns: "abababababababababababababababababababababababababababababaabaaaaaaabaaababbbbaababaa"
900
Returns: "abababababababababababababababababababababababababababababab"
905
Returns: "ababababababababababababababababababababababababababababababbabaa"
920
Returns: "ababababababababababababababababababababababababababababababbbaaaabbbbbaaabbaabbbba"
954
Returns: "ababababababababababababababababababababababababababababababaabbaabbbababbabbabbbaabbba"
959
Returns: "ababababababababababababababababababababababababababababababaabbbbaabbbbaababbaaabbbaaba"
973
Returns: "abababababababababababababababababababababababababababababababbbabbbaabaabbab"
990
Returns: "abababababababababababababababababababababababababababababababbbababbbabaaabaabbbbaaabbabab"
991
Returns: "abababababababababababababababababababababababababababababababbaababbabaaabaabbbbaaaabba"
992
Returns: "abababababababababababababababababababababababababababababababa"
993
Returns: "abababababababababababababababababababababababababababababababaaaaaaab"
994
Returns: "abababababababababababababababababababababababababababababababaaabaaaaaaaa"
995
Returns: "abababababababababababababababababababababababababababababababbabbaababaabbbaaabbababa"
996
Returns: "abababababababababababababababababababababababababababababababaaabbaa"
997
Returns: "abababababababababababababababababababababababababababababababaababbb"
998
Returns: "abababababababababababababababababababababababababababababababaabbabbb"
999
Returns: "abababababababababababababababababababababababababababababababaabbaab"
1000
Returns: "abababababababababababababababababababababababababababababababaaaabbbabbabba"
675
Returns: "abababababababababababababababababababababababababaaabbabaabbabbabaabaa"
35
Returns: "abababaaabbbbbbbabbabaabbaabba"
77
Returns: "ababababababababbbbaaaabbbabaa"
960
Returns: "ababababababababababababababababababababababababababababababaabbababababbbb"
322
Returns: "abababababababababababababababababaaaaabbabbbaabaabbaabaa"