The Problem to Make You Happy
原题:The Problem to Make You Happy
原题大意 Bob和Alice在有向图内玩游戏,n个顶点,m条边。 每人一颗棋子,初始位置分别是x,y。 Bob先手,轮流操作,每次只能走一条有向边。 结束条件: 1.不能操作的人输 2.两个棋子重合Bob输 3.游戏没有尽头Alice输 问 Bob 能不能赢? 2 <= n <= 100. 1 <= m <= n <= n*(n-1) 1 <= x , y <= n, x != y.
算法分析
状态设计:两颗棋子的位置,下一步棋是谁走。因子我们可以用dp[x][y] [0/1]表示两枚棋子的状态,Alice在x,Bob在y处,0是下一步Alice走,1是下一步Bob走。
思路:通过BFS,进行状态之间的转移。
初始状态:两颗棋子重叠为必败状态,先令这些状态在dp数组中的值为0,其它的为1
状态转移:a) 若是选手A打算行动,那么在他之前行动的是B,要让B能GG必须B能到达的所有状态均为必败。b) 若是选手B打算行动,那么在他之前行动的是A,时光倒流,A行动时的那个状态
...