题目
100 本书,每次能够拿 1~5 本,怎么拿能保证最后一次是你拿 ?
解题思路:倒推对面如何必输
🚩拿 6 的倍数
我们倒着考虑如何让对面必输,让对面只能拿 95、96、97、98、99 对面就是必输。(只要我们拿 94 就必胜)
倒着看,其实拿 94 时,就决定胜负了。 100-6×1
假设 A 拿了 94,B 只能拿 95、96、97、98、99 , 下个回合,A 一定可以拿100。也就是说,拿 94 者必胜。
再倒着看,其实拿 88 时,就定胜负了。 100-6×2
假设 A 拿了 88 ,B 只能拿 89、90、91、92、93 , 下个回合 A 一定能拿 94 。
再倒着看,其实拿 82 时,就定胜负了。 100-6×3
假设 A 拿了 82 ,B 只能喊 83、84、85、86、87 , 下个回合 A 一定能拿 88 。
….
再倒着看,其实拿 10 时,就定胜负了。 100-6×15
假设 A 拿了 10 ,B 只能拿 11、12、13、14、15 , 下个回合 A 一定能拿 16 。
再倒着看,其实拿 4 时,就定胜负了。 100-6×16
假设 A 拿了 4 ,B 只能拿 5、6、7、8、9 , 下个回合 A 一定能拿 10 。
最后发现,谁先拿,谁一定赢
假设 A 先拿,直接拿 4 , 下个回合 A 一定能拿 10 。
推导式:
对于一个先手问题就是取余,假设 n 赢,每次操作只能操作 m 个,最终谁能赢,取决于谁第一个先拿到此数: ,谁先拿到谁赢。
