T1.笨笨玩糖果(sugar) 有n颗糖,两个人轮流取质数颗糖,先取不了的(0或1)为输,求先手能否必胜,能,输出最少几步肯定能赢:不能,输出-1. 一开始天真的写了一个dp,f[i]表示i颗糖最少取几次能赢或输.然而这个是错的,从对手的角度来讲,他如果必败,一定会选择让对手尽量输的晚一些.否则的话3次以内游戏肯定结束了. 所以可以用dfs套着dp,不能赢的最多步数存为负,能赢最少步数存为正,然后对每个i进行dp,分别用两个变量来保存上述两个值,在判断是否能必胜. T2.笨笨的宇宙蘑菇(mush…