UVA好题没人写系列,感觉可以稍稍练习一下面向对象编程的形式(大雾) 题意很简单,在国际象棋的棋盘中有一些兵,走到对方底线即为胜利,问最优决策下谁能获胜.并输出最小步数. 首先这里的棋盘都只有\(4\times 4\),意味这状态很小. 所以我们可以联想到用类似于Luogu P4576 [CQOI2013]棋盘游戏用对抗搜索的方式求解. 如果可以获胜就找最小步数,否则要失败的那一方应该找一个能苟活最久的状态走下去. 发现这个决策其实就是取\(\min,\max\),这里显然也可以记忆化,但状态数…