Problem Statement
For example, suppose that s="snuke" and K=2. Snuke removed two characters and showed you the string "nue". In this situation you can easily deduce that Snuke must have removed the characters s[0] and s[3]. You announce that the indices of removed characters are 0 and 3, and you win the game.
You are given the
Definition
- Class:
- Decipherability
- Method:
- check
- Parameters:
- String, int
- Returns:
- String
- Method signature:
- String check(String s, int K)
- (be sure your method is public)
Constraints
- K will be between 1 and 50, inclusive.
- The length of s will be between K and 50, inclusive.
- Every character in s will be a lowercase letter ('a'-'z').
Examples
"snuke"
2
Returns: "Certain"
This is the example from the problem statement. As all characters are unique, you can always determine the indices of the erased ones.
"aba"
1
Returns: "Certain"
Snuke will show you one of the strings "ba", "aa", and "ab". In the first case you can be sure that he erased the character at index 0. The second and the third string correspond to indices 1 and 2, respectively.
"aba"
2
Returns: "Uncertain"
If Snuke shows you the string "a", there are two possibilities: either he erased the characters at indices 0 and 1, or the characters at indices 1 and 2.
"abcdabcd"
3
Returns: "Certain"
"koukyoukoukokukikou"
2
Returns: "Uncertain"
"wolfsothe"
8
Returns: "Uncertain"
"a"
1
Returns: "Certain"
"aa"
1
Returns: "Uncertain"
"ab"
1
Returns: "Certain"
"aa"
2
Returns: "Certain"
"ab"
2
Returns: "Certain"
"aba"
1
Returns: "Certain"
"aba"
2
Returns: "Uncertain"
"aab"
1
Returns: "Uncertain"
"aab"
2
Returns: "Uncertain"
"aab"
3
Returns: "Certain"
"abab"
1
Returns: "Certain"
"abab"
2
Returns: "Uncertain"
"abab"
3
Returns: "Uncertain"
"abab"
4
Returns: "Certain"
"smjqgpkcyvzselduwyeakhkxfkisaplgt"
12
Returns: "Uncertain"
"uiwdthpz"
6
Returns: "Certain"
"nsqypvhqtbavuxijypvxeksbaypjgmed"
12
Returns: "Uncertain"
"gwoxjonospvmprezgql"
8
Returns: "Uncertain"
"ynyqpmaopqhumqwjtjyklxpd"
2
Returns: "Uncertain"
"xlgmbh"
4
Returns: "Certain"
"kkwknmvoaezqtszcbkjupylyayi"
22
Returns: "Uncertain"
"ovkfrqyzpeybhwoupgcbrekwwiuccjpdxldpsdwfnwmanwxifk"
20
Returns: "Uncertain"
"upgklvurhuaohwjxirwyptpphkgzeoxnwargcjmbr"
25
Returns: "Uncertain"
"zhyboydtftysfojxfiihotes"
3
Returns: "Uncertain"
"mzyejumfwmwmij"
13
Returns: "Uncertain"
"wwhtqbebjh"
7
Returns: "Uncertain"
"puqgyjuzasfljvxjtfezmflosrmzwjz"
23
Returns: "Uncertain"
"dyjlvnnbxgawjkknkwgtxxkppjenmjydmoctlwvym"
6
Returns: "Uncertain"
"athghnep"
3
Returns: "Uncertain"
"kvolwqyzsunlheydmmyne"
1
Returns: "Uncertain"
"emirugvifebjosoevbpnqxueoewjbewboijdxmdyacnpbytu"
38
Returns: "Uncertain"
"xebqixjglplcsut"
11
Returns: "Uncertain"
"zsgpzsdljtkqbftwyiynpfbkx"
23
Returns: "Uncertain"
"afbatastyktvji"
5
Returns: "Uncertain"
"acacbaccabcababcaaacccacaccbaababcaca"
14
Returns: "Uncertain"
"bcccddd"
2
Returns: "Uncertain"
"eddaee"
5
Returns: "Uncertain"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
30
Returns: "Uncertain"
"ecbbeeecacbaadaeeacbaecdbbaacbdebcabdabaab"
17
Returns: "Uncertain"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
32
Returns: "Uncertain"
"bbaabaabbabbaabbabbbaaaaaaabaaababbabbbbaaaaaabb"
43
Returns: "Uncertain"
"ebcedeacceeabbabaddbbccabbeabbebebdcedc"
1
Returns: "Uncertain"
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
25
Returns: "Uncertain"
"aaaaaaa"
2
Returns: "Uncertain"
"acbbcac"
6
Returns: "Uncertain"
"aaaaaaaaaaaaaaaaaaaaaaaaa"
15
Returns: "Uncertain"
"aaabacacdbdcbcdad"
15
Returns: "Uncertain"
"ddbcebb"
7
Returns: "Certain"
"abaaababbabaabaaabbaaaabbbba"
7
Returns: "Uncertain"
"aaaaaaaaaaaaaaa"
3
Returns: "Uncertain"
"bbbabababbaabbbaabbbabbaaabbbbbbabbbbaaaba"
8
Returns: "Uncertain"
"cbbbbabcbdddccdeddebbbbceaacbaccebeb"
8
Returns: "Uncertain"
"baabba"
4
Returns: "Uncertain"
"abaabbaabbaabbbbaabbbaaabaababbbababaa"
10
Returns: "Uncertain"
"ccecebceeecbecbeadcbcdcaeeddbbddbeeeaaebbabe"
44
Returns: "Certain"
"abbbbbbababababbbbbbabaaaaaaaaba"
32
Returns: "Certain"
"bbcaabcbccdbaadabccadaccaddbbdbdbacbcbaddcb"
43
Returns: "Certain"
"baabbabaaaabaaabbabaaabbaababbaababbaaabaaabaa"
46
Returns: "Certain"
"babacbbcdcadbbdbcdbadccadcddadabbacaabbcccdddbd"
47
Returns: "Certain"
"deagcbfdeagcbfdeagcbfdeagcbfdeagcbfdeagcbf"
6
Returns: "Certain"
"dtlgbauprksjqefmhncoidtlg"
20
Returns: "Certain"
"abc"
2
Returns: "Certain"
"fmedinphbacjlkog"
14
Returns: "Certain"
"incldfjapmoqrutvhkgbeisnldcjafmpoqurtvkhbg"
20
Returns: "Certain"
"kvqjdcsfhbwtuirmgopnleakjvqdschbfwiumrgotlna"
20
Returns: "Certain"
"bahcgidefbahcgidefbahcgidefbahcgidefbahc"
8
Returns: "Certain"
"gjecihbdagfjechbdigajefhcbdgijafhebcdgjifaehb"
8
Returns: "Certain"
"doabuishmvljqencrtwfpgokbauidsmhlvqejrcnwftpkbagod"
20
Returns: "Certain"
"ifdnjmbelkcaghfdinmbjlekagcfdihn"
12
Returns: "Certain"
"adcfeacfeadfcbe"
3
Returns: "Certain"
"lapuvtndgrshqfomewkbilcauvptjgdrnqshfomebwiklcu"
20
Returns: "Certain"
"abecfagebdacgbdafg"
4
Returns: "Certain"
"ablkjhcgedfiablkjhcgedfiablkjhcgedfiabl"
11
Returns: "Certain"
"nfmctpkjaedigqorlhsu"
18
Returns: "Certain"
"fbegcafdbegfadbgcedbgcefbgcdaegfdbcgade"
4
Returns: "Certain"
"kjaceibhgld"
9
Returns: "Certain"
"hcdgbfeahcd"
7
Returns: "Certain"
"abdc"
4
Returns: "Certain"
"ajindgobchmlekajfidn"
13
Returns: "Certain"
"costaqminplhfkjrdebgcostaqminplhfkjrdebgcostaqm"
20
Returns: "Uncertain"
"aedhbfgceadhfgcbedahfc"
7
Returns: "Uncertain"
"rmfcqosdhulibkgaetpnrjmcqosdhflibukaetgnrjmpcos"
20
Returns: "Uncertain"
"bujengctfmohivqplrasbduengcjfktohmqivlrsbdpaune"
20
Returns: "Uncertain"
"dbjechagdifbecajhdgbfieajdgchbfeijdcgha"
8
Returns: "Uncertain"
"coidjkqslhpabrgnefmcoidjkqslhpabrgnefm"
19
Returns: "Uncertain"
"fcheagdbhef"
6
Returns: "Uncertain"
"dbclhkjaeg"
10
Returns: "Certain"
"befcd"
5
Returns: "Certain"
"ab"
2
Returns: "Certain"
"bcdegfbcedfgc"
5
Returns: "Uncertain"
"diabjtvornuseclmphfqdkibjtagovrn"
20
Returns: "Uncertain"
"aaaaaaaaaaaaaaaaa"
1
Returns: "Uncertain"
"bfhgdceafbghcdafbghe"
7
Returns: "Uncertain"
"fodpciehsgarnjmlqtbufkdopiehcsganrmjqtbufkldpieh"
20
Returns: "Uncertain"
"fbdejihgafcbedkjihfgbeadjkifcbgadehkijfgb"
9
Returns: "Uncertain"
"cbc"
2
Returns: "Uncertain"
"gdealchbjfidealc"
10
Returns: "Uncertain"
"scknraogtfiemlupqbhjdcknsarogfteilupmbqhjcknds"
20
Returns: "Uncertain"
"acsukjnmphfbdgqoleritcsakunjphmfdgqolebrtiscak"
20
Returns: "Uncertain"
"xabcdefghijklmnopqrstuvwyzxxabcdefghijklmnop"
20
Returns: "Uncertain"
"abcdeef"
5
Returns: "Uncertain"
"abcdefghijklmnopqrstuvwxyabcdefghijklmnopqrstuvwxy"
24
Returns: "Certain"
"abcdefghijklmnopqrstwabcdefghijklmnopqrstw"
2
Returns: "Certain"
"cddcc"
5
Returns: "Certain"
"paxycerdogqijsabhfmwtonbxczmcnrwjfeaeuprohqyogummq"
9
Returns: "Uncertain"
"abcabcabcabcabcabcabcabc"
5
Returns: "Uncertain"
"abcdea"
6
Returns: "Certain"
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvw"
26
Returns: "Uncertain"
"abcdefa"
4
Returns: "Certain"
"bcadeafg"
2
Returns: "Certain"
"baac"
1
Returns: "Uncertain"
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstu"
24
Returns: "Certain"