思路
d p [ i ] [ j ] : dp[i][j]: dp[i][j]:表示状态为 i i i, 1 1 1表示已走到这个点, 0 0 0表示未走到这个点,此时站在 j j j点上的所有方案数。
发现我们在计算的时候可能会出现重复的情况,例如在计算 1 , 2 , 3 1,2,3 1,2,3这个环时先按照顺序计算了 1 , 2 , 3 1,2,3 1,2,3,又计算了 2 , 3 , 1 2,3,1 2,3,1,这样可以发现是重复的情况。所以需要dp的限制就变成了:状态为 i i i,此时站在点 j j j上,且这种状态的起点为状态 i i i中的第一个为1的值。
接下来考虑转移,先考虑不合法的状态, 假设但前点在 j j j,接下来要走的点为 k k k,状态 i i