Problem Statement
Dave has a balance with which to weigh objects, and a number of reference weights of known value. All weights are integers between 1 and 100000000 (10^8), inclusive. The balance has 2 pans, each of which can hold any number of objects. The balance will indicate which pan contains more total weight, or that the pans contain equal amounts of weight.
Dave has a problem. His arch nemesis, Earl, has removed the labels from some of the weights, in an attempt to prevent Dave from knowing their values. Dave will attempt to recover the values of the unlabeled weights using the balance and the remaining weights. You are asked to figure out if Dave will succeed.
You will be given a
Definition
- Class:
- BalancingAct
- Method:
- recover
- Parameters:
- int[], int[]
- Returns:
- String[]
- Method signature:
- String[] recover(int[] labeled, int[] unlabeled)
- (be sure your method is public)
Notes
- Dave knows that the weights are positive integers not exceeding 100000000 (10^8). See example 2.
Constraints
- labeled will have between 1 and 20 elements, inclusive.
- unlabeled will have between 1 and 4 elements, inclusive.
- All elements of labeled will be between 1 and 100000000 (10^8), inclusive.
- All elements of unlabeled will be between 1 and 100000000 (10^8), inclusive.
Examples
{9,13,15,16}
{19}
Returns: {"yes" }
Dave places the 9 weight and the unlabeled weight in one pan, and the 13 and 15 weights in the other.
{20}
{10,10}
Returns: {"yes", "yes" }
Dave may make multiple weighings.
{33333332,33333334}
{33333333,73,100000000}
Returns: {"yes", "no", "yes" }
Here, Dave uses the fact that all weights are integers between 1 and 100000000.
{12}
{1,1,2,2}
Returns: {"yes", "yes", "yes", "yes" }
{31415926,5358979,32384626,43383279,50288419, 71693993,75105820,9749445,92307816,40628620, 89986280,34825342,11706798,21480865,13282306}
{64709384,46095505,82231725,35940812}
Returns: {"no", "no", "no", "no" }
{3,12}
{6,8}
Returns: {"yes", "no" }
{3}
{2,4}
Returns: {"yes", "yes" }
{99999999}
{50000000,50000000}
Returns: {"no", "no" }
{3}
{1,2}
Returns: {"yes", "yes" }
{4}
{1,2}
Returns: {"yes", "yes" }
{4}
{1,3}
Returns: {"yes", "yes" }
{5}
{1,2}
Returns: {"yes", "no" }
{5}
{1,4}
Returns: {"no", "no" }
{24}
{8,4,2,1}
Returns: {"no", "no", "no", "no" }
{23}
{8,4,2,1}
Returns: {"no", "no", "no", "yes" }
{20}
{8,4,2,1}
Returns: {"no", "no", "no", "yes" }
{19}
{8,4,2,1}
Returns: {"no", "no", "yes", "yes" }
{17}
{8,4,2,1}
Returns: {"no", "yes", "yes", "yes" }
{16}
{8,4,2,1}
Returns: {"yes", "yes", "yes", "yes" }
{24,31,44,279}
{100,124,179}
Returns: {"yes", "yes", "yes" }
{14285713}
{99999999,14285714,28571428,57142856}
Returns: {"no", "yes", "yes", "no" }
{8,3}
{10,20,30,40}
Returns: {"no", "no", "no", "no" }
{21506301,23788680,21703757,12754441,48935164,41419945,2341550,32803390,43506193,15314951,5698498,5996767,7457107,365784,12953324,20243298,3547574,6020268,49736624,17343187}
{98823960}
Returns: {"no" }
{11842625,40118192,21920663,28798437,18680358,6677372,29339336,46915392,48274551,10875231,7430247,4372697,25791509,28233260,44208191,31949192,36024579,34603771,35707586,29947469}
{60560534}
Returns: {"no" }
{3281035,737559,38713231,41008356,21920566,30051582,41534699,23936698,20923768,41370391,31666787,15955782,43331537,17151157,18573902,32813452,4992302,23431821,6192831,15779330}
{98205727}
Returns: {"no" }
{49594853,27998397,37144792,20401475,8948726,45893641,22084389,44915968,43646790,32693824,10484036,7368067,41636814,45145891,20153896,45229001,36585712,2094565,10469688,47073423}
{97211724}
Returns: {"no" }
{44822604,38055840,46661507,23554953,27843597,36830999,45074595,7683102,17967113,36764817,34079461,11501679,48624874,27385109,30175821,20173094,20673643,31350597,24862530,47187977}
{53563221}
Returns: {"no" }
{1482787,45359967,17356733,49860902,32626800,17489205,5933067,6159983,40950686,49489693,31977664,4647208,40644693,47753568,20506697,36673566,25588744,39335190,24083677,3153613}
{59613906}
Returns: {"yes" }
{7586247,18695456,46283567,5951567,3862974,7561252,1685331,41059110,18643931,25565296,19629377,14466572,581295,26821603,39274700,42856588,46917763,39201185,43576815,41170939}
{99592578}
Returns: {"yes" }
{8928433,33679573,32475998,45829876,27947173,33628963,17081699,8050533,34464900,14382513,8358658,40862276,19719838,43853472,49761232,39509656,4699711,4953707,4425284,19743091}
{88603172}
Returns: {"yes" }
{38143693,2494926,30988268,41234367,43478613,39187288,20939784,40751919,23039599,22711174,1796040,26002111,20101628,9376884,21895685,6421485,3969759,22550618,16874787,29170735}
{95397509}
Returns: {"yes" }
{11269143,5648837,43876944,49618532,38250362,8065988,22595151,28065409,4695464,16296973,41468709,48963923,33822595,36445387,44281379,19641992,35330455,34157163,33505092,22858632}
{97176476}
Returns: {"yes" }
{904284,4959465,9192495,13431453,407150,11825182,408568,8137267,9007778,11984295,5288416,11295074,11201149,2013877,6918943,2564538,3368870,13732918,3791679,747341}
{96466581,91583530,95716346,98367794}
Returns: {"yes", "yes", "yes", "yes" }
{12983910,2684677,5442394,8285588,3264906,6347620,3815672,13210545,13133395,5243941,6986553,10512487,3296391,1817385,11260128,6575615,14880434,3451682,3331849,6131456}
{98503512,97964903,98503512,95468590}
Returns: {"yes", "yes", "yes", "yes" }
{1826123,4486303,13161230,9398317,7631390,5461233,7502440,384390,12596114,13298241,1978325,10928025,4685544,11814446,11436988,2256420,10824455,6649611,6805422}
{97424904,97634848,95823658,90010572}
Returns: {"yes", "yes", "yes", "yes" }
{11858010,3848358,8672096,13016097,12791787,12556767,8563713,489709,9304011,7949079,6073765,14871348,5056135,9614901,6769346,11326285,3383028,8520403,5497675}
{94618816,96805781,94618816,96218014}
Returns: {"yes", "yes", "yes", "yes" }
{904284,4959465,9192495,13431453,407150,11825182,408568,8137267,9007778,11984295,5288416,11295074,11201149,2013877,6918943,2564538,3368870,13732918,3791679,747341}
{97295843,97669984,97295843,99826520}
Returns: {"no", "no", "no", "no" }
{1489751,13292223,10260852,954160,10719087,8951908,7095761,10584131,5419651,2986456,9995037,9623190,5516809,4254322,6740561,14476043,3389346,7348865,14310633,2220957}
{99324401,98500345,96872706,92190504}
Returns: {"no", "no", "no", "no" }
{12765109,2621421,4920830,12790843,13866806,2724153,14553601,2455124,7282203,118182,13178175,8170948,5972077,13926206,3084719,12460382,13496654,10800197,3938989}
{96426937,96426937,93280200,97307743}
Returns: {"no", "no", "no", "no" }
{9506193,6707455,8428236,13904677,1724276,12512988,2433208,12901048,5581929,1409860,10805466,9038218,8478335,3534291,12086092,11927035,6653471,6767372,9536654}
{89399692,97934764,97934764,87663470}
Returns: {"no", "no", "no", "no" }
{9859,9731,9038,8966,27594}
{187,36,1031,82}
Returns: {"no", "no", "no", "no" }
{44334371,29147259,49863480,9980648,54466992,41799537,23790564,33688636,2814936,15040401,48303093,32235388,993460,13222380,109508,5364280,21423765,7141716}
{18352660,35329353}
Returns: {"yes", "yes" }
{100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000}
{100000000,100000000,100000000,100000000}
Returns: {"yes", "yes", "yes", "yes" }
{1,3,9,27,81,243,729,2187,6561,19683,59049,177147,531441,1594323,4782969,14348907,43046721,100000000,100000000}
{79726983,714009,86235854}
Returns: {"yes", "yes", "yes" }
{28083525,75409932,88357472,35843324,86311482,76236634,85195573,8091632,11529556,53320738,41777726,92024015,9130896,55122987,15985408}
{27983660,14642539,96354810,30894745}
Returns: {"no", "no", "no", "yes" }
{37323961,44246232,66417577,97174096,53816642,28391076,12038589,52984720,54904280,36282426,12354831,23780635,76296311,11444952,48372759}
{63989715,23331754,44314661,12677090}
Returns: {"no", "no", "yes", "yes" }
{20583181,2292801,78828137,47556782,92848300,56801355,88240656,33117979,28518266,50251166,44541832,56664760,43989453,43433996,26898905,74837145}
{78016248,15119496,40005752,66582689}
Returns: {"no", "no", "yes", "yes" }
{8979192,61392721,74987637,28508508,36578870,86097842,75283096,66356898,74666198,17928993,32871944,5006736,28981827,8896607,59126062,32652104}
{94449371,42642287,39146664,56471761}
Returns: {"no", "yes", "yes", "no" }
{28083525,75409932,88357472,35843324,86311482,76236634,85195573,8091632,11529556,53320738,41777726,92024015,9130896,55122987,15985408,97477617,5438184}
{11420243,87445582,46034399}
Returns: {"yes", "yes", "no" }
{42703845,48314472,1670092,99522422,55430167,3366750,50607697,55211572,1803671,28607403,34584235,98251504,40074391,41179191,48906185,34888738,58901560}
{88240655,71744635,64854518}
Returns: {"no", "yes", "yes" }
{41693670,62293072,80079804,30230682,17041865,96495874,87189258,93091725,32088347,7332131,78955072,4265368,68370955,62835099,67372258,24527186,71809429,95042073}
{4192122,8743400,9792599}
Returns: {"no", "yes", "no" }
{49686085,83716802,31192870,57871767,50356839,71954632,97407652,87692133,81067573,36152371,79285562,58882701,82407303,45215976,56199024,58523811,25650726,73913654}
{96969131,4593789,37226417}
Returns: {"no", "yes", "no" }
{28083525,25409932,38357472,35843324,36311482,26236634,35195573,8091632,11529556,3320738,41777726,42024015,9130896}
{4426902,13169191,10617108}
Returns: {"no", "yes", "no" }
{38134514,12714763,18277518,3418426,43408723,17314648,14923298,33212317,27230276,27445119,29706691,31236023}
{13498354,17669378,26925455}
Returns: {"no", "no", "yes" }
{7526533,20420091,30099253,23645698,34037485,27945238,47120349,24006613,9511544,13133890,2584361}
{47334700,42173772,29635450}
Returns: {"no", "yes", "no" }
{44329206,37018617,45823325}
{9071686,44310194,38199079}
Returns: {"no", "no", "no" }
{7543326,40799811,13277407,15713613,17422448,10670965,10141137,30136987,39348951,32956894,1491616,38707470,28232482,35004347,17192798,30635939,2192455,22118879,24422996,15029334}
{38136248,21686260,7747486,14920257}
Returns: {"yes", "yes", "yes", "yes" }
{1677102,13510094,18544021,18573813,21375583,20341266,19815344,24845896,8165155,4579051,4814489}
{9464302}
Returns: {"no" }
{498919,4405450,3378844,3981228,6314825,4564845,4936119,31640,2207832,1913614,8110781,4843511,8508938,6524955,855727,5931449,2931770,3821089,79533}
{6919395}
Returns: {"yes" }
{62245647,7327597,20563909,52527368,60080113,37007387,9645563,57681015,45623791,2287001,20700785,7096855,64343371}
{4935240,54267892}
Returns: {"no", "no" }
{13364077,23022905,39026403,20820514,1517838,23995271,20322900,30377933,4434664,11075156,34190292,16607870}
{7908383,1369680,11905879,14612243}
Returns: {"no", "no", "no", "no" }
{881034,8676416,7594925,5070099,8331648,745312}
{2044775}
Returns: {"no" }
{4349606,4251007}
{3061268,4422499}
Returns: {"no", "no" }
{9113747,88174097,18844925,15460443,34697014,65825931,8955249,89642148,50304206,35787369,96210962,89384520,15968672}
{14799002}
Returns: {"no" }
{11890343,3393703,11827968}
{8127117,2566640,9033241}
Returns: {"no", "no", "no" }
{4083469,1938808,4957632,476871,4409476,3827214,1861817,2436995,2687978,1858356,2027948,2694937}
{4427298,3589267,1472722,1848629}
Returns: {"no", "no", "no", "no" }
{85847556,52135556,72166757,66069392,54983135,36469227,89186274,48602564,69455528,63672005,85215541,86787637}
{68713236,66839501}
Returns: {"no", "no" }
{49243005,4104078,45817706,39554614,76602248,24417537,13856266,38035931,16217542,39189775,44717030,3456922,27426726}
{34110224,38090166,15789370,11138560}
Returns: {"no", "no", "no", "no" }
{43879840,39733035,46006817,19177094,48271564,45431498,31381329,8778573,20972479,40031110,7689384,20378553,21256154,7479340,10410158,3862957,22699345,31781431,887211}
{32141821,34581743,5067600}
Returns: {"yes", "yes", "yes" }
{17334618,34681189,17426189,1397867,11349703,29975963,21464943}
{25150898,2491419,5158268,2414854}
Returns: {"no", "no", "no", "no" }
{1}
{2, 8, 9}
Returns: {"yes", "no", "no" }
{8}
{1, 5, 10}
Returns: {"yes", "no", "no" }
{1}
{4,2,2}
Returns: {"no", "no", "no" }
{1}
{8,10,2,5}
Returns: {"no", "no", "no", "no" }
{2}
{22,9,16,5}
Returns: {"no", "no", "no", "no" }
{303940,303984,180037,238709,292253,265042,303984,303986}
{303975,303924,303953,303980}
Returns: {"no", "no", "no", "no" }
{597,12,2}
{29,119,30,49}
Returns: {"no", "no", "no", "no" }
{94}
{1,2,3,7}
Returns: {"no", "no", "no", "no" }
{14522,12501,1129,610,22,48,764}
{1,157,242,113326}
Returns: {"yes", "no", "no", "no" }
{110,1520,1815,1347,997,106}
{1543,97,158}
Returns: {"no", "yes", "no" }
{76,8}
{26,38,82,1}
Returns: {"no", "no", "no", "yes" }
{80,8,43,80,80,80}
{12,79,74}
Returns: {"no", "yes", "no" }
{7,29,50}
{178,231,1,47}
Returns: {"no", "no", "yes", "no" }
{1361956, 7579013, 28145517, 76140463, 83515281, 86969586, 62888636, 26402540, 98152103, 58176573, 61402893, 27860890, 9580639, 70870045, 46139320, 78509023, 84027667, 61263305, 41082556, 1 }
{48595331 }
Returns: {"yes" }
{13 }
{4, 4, 5 }
Returns: {"yes", "yes", "yes" }
{100, 411 }
{2, 3, 4, 5 }
Returns: {"no", "no", "no", "no" }