四个子的走法:
- 王:横、直、斜都可以走,但每步限走一格。 step=max(m,n);
- 后:横、直、斜都可以走,每步格数不受限制。 if(m==n||m==0||n==0) step=1;else step=2;
- 车:横、竖均可以走,不能斜走,格数不限。 if(m==0||n==0) step=1;else step=2;
- 象:只能斜走,格数不限。 if(m==n) step=1;else if((m+n)%2==0) step=2,(后来发现我把可走范围定在m*n里了,导致结果可能偏大,用最少的走法,最多只能有两条折线);else Inf。
m ,n为两边长,以上判断是在始末点不同的情况下的判断,如果始末点一样,则四个step=0。
以上的都考虑了,也就不成问题了。