具体要看f[i][j]先从哪个状态转移过来的
比如,这个马,(都知道走“日”字),题中限制只能向右走。要向右走,依据动态的核心思想是从前面的状态推出后面的状态(与dfs相反),可知,dx[],dy[]要反向开,从后面找到前面已经转移过的进行递推。
再就是循环顺序问题:
从(0,0)点走到(n,m)点,如果外层循环是行,一行没走完,列都已经循环过了。
把循环顺序交换后,可以看做,先把最近的一行扫完了,再去扫下一列,下一列就有值了,否则,就是无值状态。
也可以吧值都输出出来,就可以轻松得发现循环顺序关系
例子: