Statistics

Problem Statement for "NextAndPrev"

Problem Statement

Consider a string consisting of lowercase characters and following two operations that can change it:
  • Next: Choose a lowercase character and replace its every occurrence with the next character. The next character of 'z' is 'a' ('a' -> 'b', 'b' -> 'c', ..., 'y' -> 'z', 'z' -> 'a').
  • Prev: Choose a lowercase character and replace its every occurrence with the previous character. The previous character of 'a' is 'z' ('a' -> 'z', 'b' -> 'a', ..., 'y' -> 'x', 'z' -> 'y').
You can use each operation as many times as you want, and in any order you like. You are given ints nextCost and prevCost. These represent the cost of using each Next and Prev operation, respectively. You are also given two Strings start and goal. Return the minimum cost required in order to transform start into goal using the above operations. If transforming start into goal is impossible, return -1 instead.

Definition

Class:
NextAndPrev
Method:
getMinimum
Parameters:
int, int, String, String
Returns:
int
Method signature:
int getMinimum(int nextCost, int prevCost, String start, String goal)
(be sure your method is public)

Constraints

  • nextCost and prevCost will each be between 1 and 1000, inclusive.
  • start and goal will each contain between 1 and 50 characters, inclusive.
  • start and goal will contain the same number of characters.
  • Each character in start and goal will be a lowercase character.

Examples

  1. 5

    8

    "aeaae"

    "bcbbc"

    Returns: 21

    There are several optimal sequences of operations. Here is one of them: "aeaae" -(Next)-> "bebbe" -(Prev)-> "bdbbd" -(Prev)-> "bcbbc". The total cost is 5 + 8 + 8 = 21.

  2. 5

    8

    "aeaae"

    "bccbc"

    Returns: -1

    It is impossible to transform "aeaae" into "bccbc".

  3. 1

    1

    "srm"

    "srm"

    Returns: 0

    start and goal may be the same. The cost of an empty sequence of operations is 0.

  4. 1000

    39

    "a"

    "b"

    Returns: 975

  5. 123

    456

    "pqrs"

    "abab"

    Returns: -1

  6. 100

    19

    "topcoder"

    "ssszsffs"

    Returns: 676

  7. 1

    1000

    "csk"

    "wog"

    Returns: 64

  8. 7

    6

    "qwerty"

    "jjjjjj"

    Returns: 125

  9. 1000

    1000

    "abcdefghijklmnopqrstuvwxyz"

    "abcdefghijklmnopqrstuvwyxz"

    Returns: -1

  10. 1000

    1000

    "abcdefghijklmnopqrstuvwxy"

    "nopqrstuvwxyzabcdefghijkl"

    Returns: 325000

  11. 150

    328

    "abcdefghijklmnopqrstuvwxyz"

    "abcdefghijklmnopqrstuvwxyz"

    Returns: 0

  12. 150

    328

    "tkjrdvuhggaovymbpawncstuqrfxlxdvciksxvpmqtpfbwezms"

    "tkjrdvuhggaovymbpawncstuqrfxlxdvciksxvpmqtpfbwezms"

    Returns: 0

  13. 150

    328

    "abcdefghijklmnopqrstuvwxpz"

    "abcdefghijklmnopqrstuvwxpz"

    Returns: 0

  14. 639

    225

    "abcdefghijklmnopqrstuvwxyz"

    "tuvwxyzabcdefghijklmnopqrs"

    Returns: -1

  15. 639

    225

    "zpxvahrqrpoxnoogkmnedoufhjovoicyqwbqwqgkswesslvtje"

    "siqotakjkihqghhzdfgxwhnyachohbvrjpujpjzdlpxlleomcx"

    Returns: -1

  16. 639

    225

    "abcdefgfijklmnopqrstuvwxyz"

    "tuvwxyzybcdefghijklmnopqrs"

    Returns: 39375

  17. 945

    376

    "abcdefghijklmnopqrstuvwxyz"

    "bcdefghijklmnopqrstuvwxyza"

    Returns: -1

  18. 586

    386

    "abcdefghijklmnopqrstuvwxyz"

    "zabcdefghijklmnopqrstuvwxy"

    Returns: -1

  19. 946

    188

    "cdefgjlmprswzz"

    "fhjlqrstuxybcd"

    Returns: -1

  20. 628

    955

    "rzsvlpkjzvktksgzzeohqkmxoowudidswbrztaxpofdzrchwis"

    "wfxaruqpfaqyqxmfektnvqsdttbzjojxbhwfygdutljfwinbox"

    Returns: -1

  21. 386

    126

    "ensxonexrlgcwufrzbtrgmxjuxqxo"

    "xzllxsderbwadcvvppimtxtdtkffv"

    Returns: -1

  22. 641

    879

    "cllcwwcipczzijccijlzwpeuwzijcyjcyqiqiziiwqueiceuzi"

    "irrapzakiinnfcttfcrnziuxpnlcascisbkbknlfpbxufiuxnf"

    Returns: -1

  23. 149

    327

    "p"

    "p"

    Returns: 0

  24. 208

    156

    "c"

    "k"

    Returns: 1664

  25. 208

    52

    "a"

    "j"

    Returns: 884

  26. 162

    47

    "fp"

    "kk"

    Returns: 987

  27. 163

    69

    "sf"

    "yy"

    Returns: 1380

  28. 31

    26

    "xi"

    "bb"

    Returns: 306

  29. 33

    33

    "vh"

    "bb"

    Returns: 396

  30. 48

    110

    "wh"

    "aa"

    Returns: 912

  31. 43

    92

    "oa"

    "tt"

    Returns: 817

  32. 55

    654

    "jgjhgjggjhhghghhggjjgjjhhjgjjghgggjhgj"

    "rzrqzrzzrqqzqzqqzzrrzrrqqrzrrzqzzzrqzr"

    Returns: 4840

  33. 21

    537

    "gjjmmjmgggmjmgmjgmjgggjggjm"

    "qrryyryqqqyryqyrqyrqqqrqqry"

    Returns: 630

  34. 99

    659

    "rum"

    "yul"

    Returns: -1

  35. 953

    431

    "tdltlddddldd"

    "ixvivxxxxvxx"

    Returns: -1

  36. 131

    905

    "pow"

    "xxx"

    Returns: 1179

  37. 115

    579

    "wrjs"

    "tttt"

    Returns: 2645

  38. 506

    571

    "wgnmz"

    "nnnnn"

    Returns: 8602

  39. 809

    822

    "zqeki"

    "lllll"

    Returns: 13818

  40. 713

    595

    "nnoxoxvunxvxvxouxvngugnunuonnnnxgnvgvggvougvvnugvo"

    "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"

    Returns: 11885

  41. 203

    636

    "iwidrydwywyyfhyhwwrhifhfdhrr"

    "oooooooooooooooooooooooooooo"

    Returns: 4669

  42. 535

    202

    "goigibbmsgbemgselbi"

    "ttttttttttttttttttt"

    Returns: 4777

  43. 262

    727

    "hzrjwyvcm"

    "vvvvvvvvv"

    Returns: 6550

  44. 792

    9

    "qfrxtvdney"

    "eeeeeeeeee"

    Returns: 225

  45. 859

    516

    "bfgivwecyxt"

    "qqqqqqqqqqq"

    Returns: 9288

  46. 33

    544

    "yrbqvprbyqqyjgpjponpmvyqxxmbjopooyyrbojmrqb"

    "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq"

    Returns: 825

  47. 839

    221

    "rycdcedrfthrsytscitwkcwdyyhcrkysnk"

    "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"

    Returns: 5525

  48. 58

    788

    "qlrpvafecikbyw"

    "hhhhhhhhhhhhhh"

    Returns: 1450

  49. 853

    816

    "tfkquivrobhzejx"

    "ccccccccccccccc"

    Returns: 18470

  50. 542

    513

    "yvajquixntmwspdf"

    "wwwwwwwwwwwwwwww"

    Returns: 12089

  51. 845

    169

    "aetiycjgphnlkwmbz"

    "wwwwwwwwwwwwwwwww"

    Returns: 3887

  52. 710

    235

    "nkvxexpekkqakpkbtxrcixadmyjidciv"

    "gggggggggggggggggggggggggggggggg"

    Returns: 5640

  53. 920

    697

    "yuecwtktrzaykzhntqbwgwncavhdytpnhzh"

    "ooooooooooooooooooooooooooooooooooo"

    Returns: 16254

  54. 413

    791

    "usjgricbktfypdnvmoq"

    "sssssssssssssssssss"

    Returns: 10325

  55. 838

    333

    "zhgvaqqdyjpbwfobwiyguboxxuiecn"

    "iiiiiiiiiiiiiiiiiiiiiiiiiiiiii"

    Returns: 8325

  56. 163

    607

    "oagnoyjhpmlcidbvkrzgfeu"

    "qqqqqqqqqqqqqqqqqqqqqqq"

    Returns: 4075

  57. 957

    593

    "vbmyytaqhcwxojfzlsjpvgngrk"

    "mmmmmmmmmmmmmmmmmmmmmmmmmm"

    Returns: 14825

  58. 236

    930

    "wdfzzgaitahicmgygfosxupptnvklavibumzsmnhq"

    "sssssssssssssssssssssssssssssssssssssssss"

    Returns: 5900

  59. 817

    563

    "gdetvrqmzfcbphksaoywjuix"

    "vvvvvvvvvvvvvvvvvvvvvvvv"

    Returns: 14075

  60. 650

    324

    "japmxdteywgbrclvhosqkzuin"

    "uuuuuuuuuuuuuuuuuuuuuuuuu"

    Returns: 8100

  61. 480

    741

    "ncfvctvmuorurzhgkycjfkojmkwpzxdwpqslwynaseibgy"

    "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"

    Returns: 12000

  62. 270

    871

    "qhaefvcryidtzkxjgupwsnmbol"

    "yyyyyyyyyyyyyyyyyyyyyyyyyy"

    Returns: 6750

  63. 605

    450

    "adylkxevgojpizrqjbmfut"

    "wwwwwwwwowowwwwwowwoww"

    Returns: -1

  64. 25

    646

    "jwrjuayhcrcltsgtzhdfcbtliwjhvqramzowxxdnpev"

    "bbsbsbbbbsbbssbsbbbbbbsbbbbbsssbsbsbbbbssbs"

    Returns: 1575

  65. 734

    392

    "ebduxmgofrzayqlph"

    "kkkkkddddkkkkdddd"

    Returns: 12936

  66. 643

    60

    "tkektrrekuajieurxjxaeiehhkcea"

    "sssssjjssssssssjsssssssssssss"

    Returns: 1560

  67. 816

    133

    "yycwzwjupzfuufwefvvowbecuudpe"

    "ggogggbbbgcbbcgbcggbggbobbobb"

    Returns: -1

  68. 965

    973

    "xyjsicbmoprgflppcniarepjscijdstdarixflxtkijqsm"

    "bbfbfcbbbbbffbbbcbfbbfbfbcfffbbfbbfbfbbbbffbbb"

    Returns: 22227

  69. 47

    705

    "yqx"

    "esb"

    Returns: 564

  70. 689

    453

    "ehozkgqyacbdpnmltfvirjs"

    "bkkrkkkrrrrrkkkkrbrkrkr"

    Returns: 12722

  71. 967

    1

    "sohzujeigusdhuxptwaoqpsntwzbrfcbtyszwlk"

    "mbbbmcbbbmmbbmmmmmbbmmmcmmbbmbbbmbmbmcc"

    Returns: -1

  72. 5

    765

    "rbccjcbccrcbbjcbrccccjjbccjrbjcjccbb"

    "jwddfdwddjdwwfdwjddddffwddfjwfdfddww"

    Returns: 440

  73. 783

    522

    "dohvrincximapfqgzb"

    "jwuhwuwjjuwjwjwjjj"

    Returns: 36801

  74. 143

    932

    "qtaforg"

    "wwccqwg"

    Returns: 4226

  75. 506

    113

    "farreafpftdolloizikpzjetrdrjatedproad"

    "jbqqjbjqjqhpkkpjbjjqbjjqqhqjbqjhqqpbh"

    Returns: 7143

  76. 146

    743

    "zbmagsqwvoxue"

    "hhthivvxvthvi"

    Returns: 3942

  77. 512

    913

    "fadoafagfeugslgsjnffxhisizenzdlyoqtgiqxzzstzp"

    "hzzyzhzhhhzhzyhzmyhhzjjzjzhyzzyzyyzhjyzzzzzzy"

    Returns: 17988

  78. 123

    555

    "glenqo"

    "fgbgxi"

    Returns: 10296

  79. 53

    851

    "xspvciwarh"

    "qgfjrwgqfr"

    Returns: -1

  80. 923

    416

    "wcvpdyflsemluguoibjnrtx"

    "ekeelklrelrreleuqkqueek"

    Returns: 48672

  81. 97

    553

    "napyjrogryqngdmjwcwxuisgjeyxgskqhmkcq"

    "xnyknyxnykyxnnwnknkkknfnnnkknfnynwnny"

    Returns: 6887

  82. 616

    952

    "onbzdwateuxsmjv"

    "dzwpwnwmwmpdzzn"

    Returns: 60928

  83. 588

    487

    "ukzksqepyywiqucmccvikoygemgyowo"

    "odpdmhyhppoyhordrroydhpvydvphoh"

    Returns: -1

  84. 156

    669

    "baygmljozhnucteqrisdkfvw"

    "vvvhnkhnvhnnvnbnnhnvkfpv"

    Returns: 18375

  85. 648

    471

    "peoysdtgkzurni"

    "sqslwpeqqpfwqq"

    Returns: 46656

  86. 874

    118

    "wprvusdyrszdakpowsuvynda"

    "jzzjccqnzcqqqxzyjccjnyqq"

    Returns: 12036

  87. 818

    116

    "kqzxxzcejidiycyllqkldwrxidgbzwbcdbnlgil"

    "pnnttnpqbtqttptggnpgqgnttqtpngppqpbgttg"

    Returns: -1

  88. 632

    653

    "tykadvomigebhxzj"

    "ijaowiidaaztaioa"

    Returns: 52893

  89. 36

    716

    "ojbkngxlrucdmuwb"

    "qmfmqmdoycfkocdf"

    Returns: 1620

  90. 552

    249

    "thqvzakpgejcwdxnyso"

    "jxijuuyixwxujwqdqii"

    Returns: 20169

  91. 750

    720

    "mnlsvrhyikqsobmzxmiunohjshgyb"

    "kmcmmmfvfgmmmxkxtkfmmmfzmfcvx"

    Returns: -1

  92. 401

    581

    "cbgfnefukhztdriayxwmbkqsvljaxop"

    "bbjjwjjyukbygyrbbbbubuxyyuubbwx"

    Returns: 24641

  93. 847

    387

    "ikknmnzwzzzxnqnplylpzlignuznyxnikgmgyuupwxyxqzymxi"

    "tuuzxzqnqqqpzkzdwpwdqwttzlqzppztutxtplldnpppkqpxpt"

    Returns: 49923

  94. 16

    780

    "elwgzszemaszgnzggbjehtjabstlkffjessonpwu"

    "iwfkfafiwfafkxfkkfwisbwffabwwjjwiaayxzfc"

    Returns: 1584

  95. 184

    840

    "kjvfdtpxyerzgabwhoqnulcsmi"

    "ppdnnxuugngmommfowtvytnxup"

    Returns: -1

  96. 49

    729

    "fwegakhlivdsypqtrubxm"

    "vwhoumjmdvgsyoquruvwm"

    Returns: -1

  97. 833

    399

    "pyemqgtkzfndhrjxvswauio"

    "vimtvndrimykoyqigcpjfph"

    Returns: -1

  98. 576

    426

    "ayhdcrtgpbmjzqvolufni"

    "jhrolaaqyktshzgwtbpur"

    Returns: 88704

  99. 811

    410

    "xoiwzgqblkujmerdafyvthsc"

    "ewpegoyhsrcqtkzigmgdboah"

    Returns: 112729

  100. 614

    128

    "ekqtypivfcrhlsloanucxgmiaz"

    "jcvydlnbviwmjxjthruieabnhw"

    Returns: -1

  101. 393

    645

    "zndjbgvlfcqhsauyoxeimwrkpt"

    "wjafycrhczmdoxqvkubeitnglp"

    Returns: 58695

  102. 306

    26

    "me"

    "ii"

    Returns: 572

  103. 1

    1

    "abcdefghijklmnopqrstuvwxyz"

    "zabcdefghijklmnopqrstuvwxy"

    Returns: -1


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: