思路 这题是脑筋急转弯,非常建议自己想
首先要找到一条路,能到达重点,然后将这条路“弯曲”成各种形状就行。
m、n是棋盘边长
x是先竖2再横1的数量,y是先横2再竖1的数量(其实这个顺序无所谓)
通过以上方程很容易求得x、y
就一共x+y次走日
就是答案
排列组合知识点
代码片段
/*
2x+y==m
x+2y==n => x=(2m-n)/3 y=(2n-m)/3
注意判断x、y是否能取到整数
*/
if((2*m-n-1)%3==0&&(2*n-m-1)%3==0&&(2*m-n-1)%3>0&&(2*n-m-1)%3>0){
cout<<0<<endl;
return 0;
}