链接:https://ac.nowcoder.com/acm/contest/11166/A 来源:牛客网
题目描述
Alice and Bob like playing games. There are two piles of stones with numbers n and m. Alice and Bob take turns to operate, each operation can take away k(k>0) stones from one pile and take away s×k(s≥0)s stones from another pile. Alice plays first. The person who cannot perform the operation loses the game.
Please determine who will win the game if both Alice and Bob play the game optimally.
输入描述:
The first line contains an integer T(1≤T≤10^4) denotes the total number of test cases. Each test case contains two integers n,m(1≤n,m≤5×10^3) in a line, indicating the number of two piles of stones.
输出描述:
For each test case, print "Alice" if Alice will win the game, otherwise print "Bob".
输入
5
2 3
3 5
5 7
7 5
7 7
输出
Bob
Alice
Bob
Bob
Alice
思路:
一开始看到题目以为是可以找到规律的博弈论,于是尝试一个个进行推算,发现只有在{2,3},{5,7},{9,12}情况下,Bob才会赢(左右数据可以交换,默认小的数在前)。而对应的以1,2,3,4,5,6,7,8,9,10,11,12,13开头的所有组合(左右数据可以交换,默认小的数在前),都可以找到对应的取石头方案,达到后手赢的目的,保证Alice能赢。但是后来还是没有找到正确的规律。
结束后看别人的代码才发现,题目给的数据范围有限,可以模拟题目的过程,打表。
而其实Bob能赢(后手赢)的情况也能通过打表列举出来(5000以内)
{2,3},{3,2},{5,7},{7,5},{9,12},{11,15},{12,9},{14,20},{15,11},{17,22},{19,33},{20,14},{22,17},{24,32},{26,35},{28,58},{29,40},{31,38},{32,24},{33,19},{35,26},{37,53},{38,31},{40,29},{42,52},{44,75},{45,60},{47,65},{49,70},{50,62},{52,42},{53,37},{55, 68}, {57, 79}, {58, 28}, {60, 45}, {62, 50}, {64, 87}, {65, 47}, {67, 86}, {68, 55}, {70, 49}, {72, 92}, {74, 99}, {75, 44}, {77, 101}, {79, 57}, {81, 174}, {82, 118}, {83, 110}, {85, 113}, {86, 67}, {87, 64}, {89, 123}, {90, 116}, {92, 72}, {94, 129}, {95, 127}, {97, 126}, {99, 74}, {101, 77}, {103, 136}, {105, 199}, {106, 146}, {108, 145}, {110, 83}, {112, 166}, {113, 85}, {115, 246}, {116, 90}, {118, 82}, {120, 161}, {122, 160}, {123, 89}, {125, 164}, {126, 97}, {127, 95}, {129, 94}, {131, 309}, {132, 182}, {133, 177}, {135, 198}, {136, 103}, {138, 180}, {139, 156}, {141, 239}, {142, 190}, {143, 186}, {145, 108}, {146, 106}, {148, 203}, {149, 195}, {151, 340}, {152, 197}, {154, 232}, {156, 139}, {158, 218}, {160, 122}, {161, 120}, {163, 229}, {164, 125}, {166, 112}, {168, 215}, {170, 286}, {171, 228}, {172, 224}, {174, 81}, {176, 350}, {177, 133}, {179, 298}, {180, 138}, {182, 132}, {184, 253}, {185, 236}, {186, 143}, {188, 268}, {189, 259}, {190, 142}, {192, 241}, {194, 256}, {195, 149}, {197, 152}, {198, 135}, {199, 105}, {201, 266}, {203, 148}, {205, 281}, {207, 274}, {208, 264}, {210, 271}, {212, 322}, {213, 317}, {214, 278}, {215, 168}, {217, 289}, {218, 158}, {220, 327}, {221, 280}, {223, 315}, {224, 172}, {226, 301}, {228, 171}, {229, 163}, {231, 332}, {232, 154}, {234, 307}, {236, 185}, {238, 372}, {239, 141}, {241, 192}, {243, 391}, {244, 325}, {245, 313}, {246, 115}, {248, 306}, {250, 321}, {252, 305}, {253, 184}, {255, 339}, {256, 194}, {258, 565}, {259, 189}, {261, 346}, {263, 359}, {264, 208}, {266, 201}, {268, 188}, {270, 375}, {271, 210}, {273, 521}, {274, 207}, {276, 358}, {278, 214}, {280, 221}, {281, 205}, {283, 370}, {285, 362}, {286, 170}, {288, 379}, {289, 217}, {291, 456}, {293, 367}, {295, 390}, {296, 386}, {298, 179}, {300, 432}, {301, 226}, {303, 415}, {305, 252}, {306, 248}, {307, 234}, {309, 131}, {311, 464}, {312, 411}, {313, 245}, {315, 223}, {317, 213}, {319, 408}, {321, 250}, {322, 212}, {324, 501}, {325, 244}, {327, 220}, {329, 435}, {331, 702}, {332, 231}, {334, 454}, {336, 545}, {337, 489}, {338, 449}, {339, 255}, {340, 151}, {342, 496}, {343, 446}, {345, 445}, {346, 261}, {348, 558}, {349, 467}, {350, 176}, {352, 461}, {354, 590}, {355, 577}, {356, 532}, {357, 479}, {358, 276}, {359, 263}, {361, 478}, {362, 285}, {364, 494}, {366, 527}, {367, 293}, {369, 520}, {370, 283}, {372, 238}, {374, 509}, {375, 270}, {377, 505}, {379, 288}, {381, 639}, {382, 553}, {384, 470}, {386, 296}, {388, 485}, {390, 295}, {391, 243}, {393, 518}, {395, 474}, {397, 511}, {399, 487}, {400, 483}, {402, 588}, {404, 601}, {405, 531}, {407, 530}, {408, 319}, {410, 568}, {411, 312}, {413, 537}, {415, 303}, {417, 586}, {419, 557}, {420, 541}, {421, 529}, {423, 525}, {425, 580}, {427, 560}, {429, 719}, {430, 624}, {431, 570}, {432, 300}, {434, 549}, {435, 329}, {437, 574}, {439, 603}, {440, 600}, {442, 683}, {443, 556}, {445, 345}, {446, 343}, {448, 614}, {449, 338}, {451, 871}, {452, 651}, {453, 620}, {454, 334}, {456, 291}, {458, 772}, {459, 671}, {460, 596}, {461, 352}, {463, 661}, {464, 311}, {466, 666}, {467, 349}, {469, 610}, {470, 384}, {472, 761}, {473, 632}, {474, 395}, {476, 760}, {477, 691}, {478, 361}, {479, 357}, {481, 660}, {483, 400}, {485, 388}, {487, 399}, {489, 337}, {491, 726}, {492, 635}, {494, 364}, {496, 342}, {498, 673}, {499, 646}, {501, 324}, {503, 653}, {504, 649}, {505, 377}, {507, 788}, {508, 648}, {509, 374}, {511, 397}, {513, 776}, {514, 716}, {515, 664}, {516, 658}, {518, 393}, {520, 369}, {521, 273}, {523, 740}, {525, 423}, {527, 366}, {529, 421}, {530, 407}, {531, 405}, {532, 356}, {534, 893}, {535, 855}, {537, 413}, {539, 752}, {540, 735}, {541, 420}, {543, 723}, {545, 336}, {547, 825}, {548, 800}, {549, 434}, {551, 697}, {553, 382}, {555, 711}, {556, 443}, {557, 419}, {558, 348}, {560, 427}, {562, 1202}, {563, 771}, {564, 693}, {565, 258}, {567, 737}, {568, 410}, {570, 431}, {572, 744}, {574, 437}, {576, 766}, {577, 355}, {579, 780}, {580, 425}, {582, 986}, {583, 768}, {585, 748}, {586, 417}, {588, 402}, {590, 354}, {592, 877}, {593, 811}, {594, 805}, {595, 722}, {596, 460}, {598, 1599}, {599, 828}, {600, 440}, {601, 404}, {603, 439}, {605, 866}, {606, 845}, {607, 810}, {609, 849}, {610, 469}, {612, 842}, {614, 448}, {616, 831}, {617, 822}, {619, 787}, {620, 453}, {622, 818}, {624, 430}, {626, 799}, {628, 785}, {630, 836}, {632, 473}, {634, 778}, {635, 492}, {637, 879}, {639, 381}, {641, 886}, {643, 899}, {644, 827}, {646, 499}, {648, 508}, {649, 504}, {651, 452}, {653, 503}, {655, 1046}, {656, 918}, {657, 876}, {658, 516}, {660, 481}, {661, 463}, {663, 870}, {664, 515}, {666, 466}, {668, 989}, {669, 929}, {671, 459}, {673, 498}, {675, 985}, {676, 857}, {678, 912}, {679, 904}, {680, 896}, {682, 1107}, {683, 442}, {685, 869}, {687, 964}, {689, 920}, {691, 477}, {693, 564}, {695, 883}, {697, 551}, {699, 946}, {700, 937}, {702, 331}, {704, 948}, {706, 910}, {708, 957}, {710, 892}, {711, 555}, {713, 996}, {714, 935}, {716, 514}, {718, 969}, {719, 429}, {721, 976}, {722, 595}, {723, 543}, {725, 1358}, {726, 491}, {728, 1010}, {730, 917}, {732, 924}, {734, 1167}, {735, 540}, {737, 567}, {739, 1062}, {740, 523}, {742, 1036}, {743, 1007}, {744, 572}, {746, 1065}, {747, 1000}, {748, 585}, {750, 982}, {751, 944}, {752, 539}, {754, 1020}, {756, 1013}, {757, 995}, {759, 1854}, {760, 476}, {761, 472}, {763, 991}, {765, 1038}, {766, 576}, {768, 583}, {770, 1150}, {771, 563}, {772, 458}, {774, 1017}, {776, 513}, {778, 634}, {780, 579}, {782, 1032}, {784, 1085}, {785, 628}, {787, 619}, {788, 507}, {790, 1082}, {791, 1061}, {793, 1090}, {794, 956}, {796, 1029}, {797, 1023}, {799, 626}, {800, 548}, {802, 1777}, {803, 1072}, {805, 594}, {807, 1081}, {808, 1079}, {810, 607}, {811, 593}, {813, 1118}, {814, 1117}, {815, 1110}, {816, 1040}, {818, 622}, {820, 1131}, {822, 617}, {824, 1070}, {825, 547}, {827, 644}, {828, 599}, {830, 1098}, {831, 616}, {833, 1053}, {835, 1122}, {836, 630}, {838, 1201}, {839,