Problem Statement
Guillermo has chosen some cells in the grid. We will call those cells special. Guillermo then created two lists of integers. One of the lists contains the x coordinates of all special cells, the other list contains the y coordinates of all special cells. If some coordinate occurs multiple times among the special cells, it gets included multiple times into the corresponding list. Guillermo shuffled each of the lists separately, and then he has shown the two lists to Gustavo. Thus, Gustavo now knows the two lists, but he does not know which x coordinate corresponds to which y coordinate.
Gustavo now has to guess which cells are special. His guess must be consistent with the two lists he saw. That is, he must select the correct number of cells, their list of x coordinates must correspond to the first list he saw, and their list of y coordinates must correspond to the second list he saw.
Gustavo wins the game if and only if at least T of the cells he guessed are actually special.
You are given two
Definition
- Class:
- SpecialCells
- Method:
- guess
- Parameters:
- int[], int[]
- Returns:
- int
- Method signature:
- int guess(int[] x, int[] y)
- (be sure your method is public)
Constraints
- x will contain between 1 and 50 elements, inclusive.
- x and y will contain the same number of elements.
- Each element of x will be between 1 and 100,000, inclusive.
- Each element of y will be between 1 and 100,000, inclusive.
- All cells (x[i], y[i]) will be distinct.
Examples
{1,2}
{1,2}
Returns: 0
The two special cells are (1,1) and (2,2). If Gustavo guesses (1,2) and (2,1) then he loses unless T is 0, so you must return 0.
{1,1,2}
{1,2,1}
Returns: 3
There is only one valid guess: the three special cells. Note that Gustavo's guess must contain three different cells, it cannot contain the cell (1,1) twice.
{1,2,1,2,1,2}
{1,2,3,1,2,3}
Returns: 6
{1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9}
{1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3}
Returns: 9
{1,100000}
{1,100000}
Returns: 0
{83427,95369,20060,60493,38336,90028,90028,55737,55737,41422,20060,41422,90028,60493,38336,13927,20060,83427,95369,90028,41422,38336,13927,13927,83427,95369,90028,41422,60493,38336,60493,38336,60493,60493}
{2568,2568,16650,80541,85387,80541,16650,97764,89173,80541,80541,2363,2363,16650,80541,97764,89173,2363,5212,97764,85387,2363,89173,5212,89173,80541,89173,2568,89173,16650,5212,68691,2363,2568}
Returns: 8
{26653,26653}
{29690,60281}
Returns: 2
{64684,72354,90676,72354,64684,72354,64684,72354,72354,76966,28625,76966,76966,77857,90676,64684,90676,32872,76966,32872,98928,72354,76966,72354,98928,77857,77857,90676,64684,32872,77857,90676}
{5733,51529,55307,55307,55307,79498,51529,4568,54587,4568,4568,79498,55307,54587,5733,54587,20710,6220,54587,79498,79498,6220,5733,20710,20710,51529,20710,4568,6220,51529,6220,6220}
Returns: 12
{73623,49300,54341,23312,95747,54341,95747,23312}
{87344,27829,27829,87344,27829,87344,55423,35569}
Returns: 2
{84931,45895,84931,87982,90072,84931,84931,70164,87132,84931,90072,84931,45551}
{48900,58661,57200,57200,8934,974,19380,19380,58661,3882,48900,8934,19380}
Returns: 5
{73941,73941,97714,55940,64820,97714,55940,64820,75322,55940,64820}
{67373,44600,39812,15668,1256,44600,67373,44600,29905,44600,15668}
Returns: 3
{90614,99337,18005,14770,18005,18005,45885,54260,45885,23206,47256,23206,47256,71156,79568,54260,71156,48143,8582,99337,45885,23206,8582,47256,28203,48143,45885,62755,54260,71156,18005,90614,18005,90614,28203,71156,62755,14770,79568,23206,54260,81777,23206,81777,23206,71156,62755,62755,90614}
{13203,31327,60380,75580,21861,18945,60380,18945,88820,75580,21994,68851,60380,13203,18945,60380,21994,21861,95995,62505,31327,37733,13203,88820,21994,68851,37733,85274,13203,60380,68851,95995,85274,68851,85274,88820,67622,21994,31327,95995,31327,21994,67622,21861,1962,1962,88820,60380,21861}
Returns: 0
{28206,14678,28206,14678,14678,26313,49615,26313,30691,64525}
{4235,4235,26058,31627,90359,90359,4235,31627,31627,90359}
Returns: 3
{24567,59480,59480,24567,25434,25434,77889,58970,77889,52275,52275,24567,25434,24567,25434}
{6356,56621,87771,9611,98988,56621,98339,98988,87771,87771,98988,87771,9611,98988,98339}
Returns: 5
{5058,75570,5058,96432,91522,75570,4293,75570,4293,91522,91522,33418,92623,5058,4293,5058,5058,88575,4293,13174,96432,56683,75570,88575,13174,56683,92623,13174,96432,88575,92623,91522}
{68364,68364,1840,1840,39391,45792,28795,31492,17463,1840,68364,28795,31492,39391,19848,31492,17463,68364,1840,31492,68364,17463,39391,96158,96158,28795,28795,17463,19848,55116,39391,31492}
Returns: 2
{66329,60236,45692,36837,66329,45692,49292,66329,45692,94019,49292}
{96964,77218,22574,926,22574,5154,96964,926,77218,77218,926}
Returns: 2
{22533,59212,59212,72380,59212,72380,39037,39037,58271,67771,22533,40866,40866,58271,39037,67771,72380,59212,72380,22533,40866,59212,40866,39037,40866,67771,22533}
{66343,87561,94985,27956,27956,33519,66343,94985,66343,27322,27322,33519,87561,33519,87561,45197,94985,66343,27322,33519,66343,33519,94985,27956,45197,33519,27956}
Returns: 12
{32232,33379,23876,33379,45054,89115,5990,89115,28068,78225,89115,89115,23876,78225,75224,5990,33379,28068,92123,23876,90180,33379,45054,78225,16540,2255,32232,28068,90180,5990,89115,89115,2255,89115,32232,45054,45054,92123,75224,28068}
{90001,84851,76591,85148,96533,90001,58110,96533,76591,84851,71339,59427,59427,96533,58110,85148,91282,85148,15351,73110,58110,76788,76788,76788,76591,90001,96533,73110,71339,59427,84851,73110,58110,85148,76788,73110,55082,71339,76591,58110}
Returns: 1
{75267,75267,89369,72642,16932,96777,658,658,80953,88955,88778,89369,72642,658,88778,658,88955,72642,89369,88778,16932,88778,96777,88955,88778,96777,16932,16932}
{77018,55806,48567,91299,91299,77018,55806,60100,92736,92736,52529,55806,60100,48567,53196,26088,55806,77018,53196,92736,77018,48567,55806,23429,26088,53196,60100,48567}
Returns: 1
{74113,6507,4668,6507,13084,13084,13084,6507,6507,4668,4668,74113,74113,13084,4668,74113}
{41352,41352,9365,89301,91639,41352,89301,91639,9365,89301,41352,89301,9365,9365,91639,91639}
Returns: 16
{1184,25063,1184,12497,49719,34574,34574,49719,49719,12497,13934,45488,25063,12497,12497,45488,25063,1184,45488}
{38958,38958,5217,76126,66798,93419,57473,57473,92378,66798,66798,66798,76126,57473,5217,93419,5217,76126,76126}
Returns: 3
{47516,57465,87331,19916,57465,57465,87331,67280,47516,29650,29650,22352,87331,57465,67280,67280,22352,47516,87331,29650,29650,57465,47516,29650}
{50187,31350,91500,91500,51743,91500,50187,20095,12087,51743,20095,91500,7340,20095,50187,7340,51743,51743,31350,7340,50187,50187,91500,91500}
Returns: 12
{32934,86710,74124,65418,86710,65418,15922,77108,98481,65418,86318,33932,77108,5995,98481,86710,5995,74124,15922,86318,33932,86710,98481,33932,5995,32934,33932}
{19018,8438,88821,8438,25166,99485,79665,8438,88821,25166,99485,88821,99485,54167,99485,46093,19018,79665,25166,54167,46093,88821,79665,6313,79665,54167,8438}
Returns: 0
{47662,60758,47662,85473,40635,29295,73340,7331,87543,73340,87543,73340,48861,90953,47662,87543,85473,40635,7331,47662,48861,85473,75884,85473,48861,29295,75884,47662,35345,82340,40635,7331,73340,60758,82340,35345,7331,87543,7331,47662,60758,75884,40635,48861,82340,85473}
{55826,93447,70217,94651,42014,17604,68112,68112,94651,79175,68112,20357,94651,42014,80520,42014,93447,60597,93447,46268,20357,79175,60597,80520,79175,42014,94651,42014,42014,80520,55826,46268,70217,20357,20357,34159,34159,80520,70217,34159,17604,77646,94651,17604,55826,17604}
Returns: 0
{37893,2409,8586,34317,97931,22766,8586,2409,37893,85186,22766,34317,95880,85186,97931,95880,95880,97931,2409,8586,2409,22766,95880,34317,8586,73350,22766,2409,37893,32101,95880,34317,2409,73350}
{6617,6617,57915,91314,68776,91314,20898,68776,91314,36627,68776,38330,20898,68776,57915,6617,68776,91314,91314,38330,52635,20898,38330,95098,95098,34987,95098,95098,20898,91314,36627,36627,38330,68776}
Returns: 5
{2294,32855,62881,45951,62881,45951,83333,45951,62881,45951,45951,32855}
{66383,82291,66383,66383,25340,8694,82291,25340,82291,85214,27495,27495}
Returns: 5
{53675,17458,73568,17458,60597,53675,47434,53675,69884,69884,47434,60597,60597,69884,25801,73568,69884,17458,17458,69884,25801}
{4698,4698,49765,88535,4698,49765,4698,88535,12133,4698,88535,336,12133,336,49765,66068,88535,85491,66068,85491,85491}
Returns: 5
{21930,83045,83045,83045}
{74397,74397,43824,31943}
Returns: 4
{6953,41485,28781,41485,28781,6953,6953,30505,72001,51900,79760,28781,30505,6953,63924,6953,6953,6953,73414,30505,28781,51900,63924,38001,5662,30505,5662,6953,63924,6953,79760,41485,79760,38001,38001,38001,72001,5662,79760,41485,51900,38001,51900}
{57756,16072,57756,62959,14423,72604,38321,62959,69943,3808,3808,29091,69943,40013,29091,69943,14423,75359,75359,40013,38321,14423,40013,57756,69943,29091,14423,29091,72604,62959,16072,69943,72604,72604,14423,75359,57756,57756,14423,38321,75359,38321,16072}
Returns: 7
{36158,36158,36957,97052,21785,38549,38549,36158,7655,98987,38549,7655,38549,10841,36158,36957,38603,41088,7655,21785,36158,97052,7655,7655,98987,41088,36957,10841,38603,7655,10841}
{77590,20513,44050,20513,68449,51531,51736,34493,44050,20513,34493,30297,96523,96523,51736,30297,76926,76926,96523,96523,51531,44050,76926,77590,76926,30297,51531,68449,44050,20513,77590}
Returns: 2
{87097,95368,26096,73951,78694,19541,78694,26096,87097,87097,19541,26096,26096,95368,19541,78694,34947,87097}
{21118,50213,33935,33935,9720,70038,20632,21118,9720,50213,78675,78675,70038,20632,20632,50213,21118,20632}
Returns: 3
{64836,47037,39014,90529,60451,60451,64836,11927,82363,86385,86385,47037,82701,73991,47195,90529,82363,47195,67564,86385,10540,60451,73991,37210,82701,47037,82363,67564,10540,82701,86385,82363,64836,73991,73991,64836,11927,11927,90529,39014,64836,82701,37210,37210,67564,73991,37210,47195,82363,90529}
{7776,74760,5251,29491,35777,79782,80590,74760,96985,41239,96985,96985,80590,3767,96985,80590,74760,43429,74760,43429,96985,96985,41239,80590,79782,80590,79782,41239,35777,43429,7072,7072,79877,43429,29491,43429,35777,34685,35777,35777,3767,7072,35777,34685,7776,5251,43429,34685,80590,5251}
Returns: 0
{73791,77291,23957,23957,49145,58864,37652,77291,85589,39367,77291,58864,37652,49145,75276,39367,23957,73791,49145,73791,39367,73791,59162,58864,75276,99094,49145,39367,58864,23957,85589,58864,72602,23957,37652,3448,77291,85589,58864,39367,3448,37652,75276,77291,99094,72602,72602,58864,23957,77291}
{99068,80769,80769,10556,99068,15236,78409,69411,10556,10556,35105,10556,28292,35105,97947,99068,78409,29449,97947,97947,80769,69411,69411,35105,78409,35105,92201,97947,29449,99068,53682,92201,10436,28292,53682,53682,10556,28292,53682,10436,78409,29449,69411,92201,53682,80769,35105,80769,86252,78409}
Returns: 0
{10912,67138,75058,69079,67138,10912,88866,27631,49834,49834,25973,69079,96359,28826,96359,67138,10912,89142,28826,28826,67138,10912,25973,6629,98624,67138,67138,6658,89142,96359,25973,28826,6658,98624,6629,88866,75058,75058,28826,27631,88866,88866,10912,28826,75058,6658,10912,6629,69079,96359}
{98130,74187,98079,37127,5808,849,65761,18185,5808,98079,43445,47295,15056,43445,43445,65745,74883,74187,59640,74883,37127,65761,849,74883,74187,98130,849,98130,18185,5808,18185,18185,5808,98130,849,5808,59640,849,849,74187,59640,98130,65745,47295,74187,74883,43445,37127,43445,98130}
Returns: 0
{88925,95842,98389,13971,21019,19963,13971,65136,839,52848,8489,95842,13971,52848,52848,21019,21019,65136,88925,114,98389,839,19963,1380,88925,52848,114,65136,8489,839,65136,21019,52848,50251,65136,21019,50251,98389,19963,83599,1380,21019,98389,19963,95842,84285,13971,21019,50251,84285}
{30960,33103,99357,42739,33767,80745,22597,4436,4436,2943,80745,66849,4436,60162,54043,60162,30960,33767,71207,2943,4436,42739,33767,33767,66849,4436,30960,22597,22597,60162,54043,2943,33103,54462,54462,3455,80745,2943,54462,2943,4436,42739,22597,3455,54462,3455,60162,80745,33103,30960}
Returns: 0
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50}
Returns: 50
{1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}
{1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7,7,7,7}
Returns: 49
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50}
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50}
Returns: 0
{21339, 20352, 21339, 15417, 15417, 18378, 18378, 17391, 13443, 21339, 13443, 18378, 13443, 14430, 15417, 18378, 12456, 15417, 17391, 14430, 12456, 16404, 16404, 17391, 20352, 20352, 20352, 12456, 18378, 21339, 21339, 12456, 12456, 21339, 18378, 14430, 21339, 20352, 18378, 14430, 17391, 19365, 17391, 19365, 15417, 19365, 21339, 20352, 20352, 15417 }
{70166, 69377, 70955, 70166, 67799, 70166, 71744, 71744, 71744, 68588, 70166, 67010, 68588, 71744, 70955, 65432, 70166, 69377, 66221, 67010, 65432, 66221, 70955, 67799, 71744, 72533, 70166, 67010, 67799, 67799, 67010, 72533, 69377, 72533, 72533, 67799, 69377, 65432, 70955, 66221, 65432, 69377, 72533, 66221, 68588, 70955, 65432, 70955, 67010, 65432 }
Returns: 18
{8, 7, 2, 5, 9, 6, 6, 1, 8, 9, 3, 7, 10, 3, 9, 5, 1, 4, 5, 1, 10, 7, 6, 4, 4, 3, 3, 4, 3, 5, 1, 7, 6, 4, 7, 8, 6, 1, 10, 10, 3, 2, 9, 2, 1, 8, 10, 4, 5, 2 }
{2, 3, 3, 1, 8, 2, 5, 1, 7, 2, 6, 6, 1, 2, 6, 3, 5, 6, 7, 7, 6, 7, 6, 2, 7, 7, 5, 8, 8, 5, 6, 4, 3, 5, 2, 5, 1, 4, 7, 5, 3, 4, 5, 7, 2, 3, 8, 3, 4, 1 }
Returns: 24
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27 }
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 26, 27 }
Returns: 43
{1 }
{1 }
Returns: 1
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
{91724, 27385, 17368, 6559, 46735, 47108, 25306, 7603, 60630, 56791, 64653, 93152, 64637, 54417, 29767, 90553, 59422, 22202, 43355, 5566, 96154, 9934, 49673, 37978, 51542, 74694, 88399, 43093, 74267, 87792, 22235, 73932, 91386, 58949, 98594, 52236, 72302, 94657, 58278, 4948, 61638, 33591, 32728, 59225, 59204, 26520, 12482, 59249, 98324, 43449 }
Returns: 50
{1, 2, 3 }
{1, 2, 3 }
Returns: 0
{1, 3, 3 }
{3, 1, 3 }
Returns: 3
{12345, 12346, 12347, 12348, 12349, 12350, 12351, 12352, 12353, 12354, 12355, 12356, 12357, 12358, 12359, 12360, 12361, 12362, 12363, 12364, 12365, 12366, 12367, 12368, 12369, 12370, 12371, 12372, 12373, 12374, 12375, 12376, 12377, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378, 12378 }
{98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98765, 98766, 98767, 98768, 98769, 98770, 98771, 98772, 98773, 98774, 98775, 98776, 98777, 98778, 98779, 98780, 98781, 98782, 98783, 98784, 98785, 98786, 98787, 98788, 98789, 98790, 98791, 98792, 98793, 98794 }
Returns: 12
{1, 2, 3, 4 }
{2, 2, 2, 3 }
Returns: 2
{1, 1, 1, 2, 3, 3, 3 }
{1, 2, 3, 4, 1, 2, 3 }
Returns: 5
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }
Returns: 0
{1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4 }
{1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 1 }
Returns: 8
{1, 3, 2 }
{5, 1, 1 }
Returns: 1
{36605, 36600, 36600, 36604, 36605, 36603, 36598, 36602, 36605, 36599, 36602, 36599, 36599, 36605, 36602, 36601, 36599, 36601, 36598, 36601, 36603, 36602, 36600, 36605, 36598, 36603, 36600, 36601, 36604, 36604, 36598, 36602, 36604, 36602, 36599, 36604, 36603, 36598, 36605, 36605, 36599, 36604, 36598, 36599, 36603 }
{36600, 36600, 36602, 36603, 36601, 36604, 36599, 36604, 36602, 36598, 36600, 36600, 36603, 36604, 36598, 36603, 36602, 36604, 36602, 36600, 36598, 36601, 36599, 36599, 36600, 36602, 36604, 36601, 36599, 36601, 36601, 36602, 36602, 36599, 36601, 36604, 36599, 36603, 36603, 36598, 36604, 36600, 36604, 36599, 36600 }
Returns: 37
{1, 2, 3 }
{1, 2, 2 }
Returns: 1
{1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: 45
{1, 2, 3, 4, 5, 1, 2, 6, 1, 2, 1, 2 }
{1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 5 }
Returns: 8
{1, 1, 2, 3 }
{1, 2, 1, 3 }
Returns: 1
{95, 78, 52, 73, 78 }
{9, 87, 9, 54, 9 }
Returns: 2
{1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9 }
{1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3 }
Returns: 9
{5, 7, 6, 6, 6, 7, 8, 8 }
{9, 9, 10, 12, 13, 10, 9, 13 }
Returns: 4