标签:没有 show clu int lin 规律 return 开始 code
n,m<=18
。等等,半棋盘不是只有4行6列吗?算了,跟\(OI\)讲什么道理啊。#include<iostream>
using namespace std;
int dx[4]={2,-2,1,-1},dy[4]={1,1,2,2};//模拟坐标x,y的变化规律,四个情况对应四个走法
int sum,m,n;
void dfs(int x,int y)//坐标X,Y
{
if(x==n&&y==m)//当到达右上角(m,n)时,退出深搜
{
sum++;
return;
}
else //否则模拟各种方向
for(int i=0;i<=3;i++)
{
int tx=x+dx[i];
int ty=y+dy[i];
if(tx>=0&&tx<=n&&ty>=0&&ty<=m)//当没有超出边界时
dfs(tx,ty);//继续DFS
}
}
int main()
{
cin>>n>>m;
dfs(0,0);//从(0,0)位置开始寻找
cout<<sum;
return 0;
}
#include<iostream>
using namespace std;
int dx[4]={2,-2,1,-1},dy[4]={1,1,2,2};
int sum,m,n;
void dfs(int x,int y)
{
if(x==n&&y==m)
{
sum++;
return;
}
else
for(int i=0;i<=3;i++)
{
int tx=x+dx[i];
int ty=y+dy[i];
if(tx>=0&&tx<=n&&ty>=0&&ty<=m)
dfs(tx,ty);
}
}
int main()
{
cin>>n>>m;
dfs(0,0);
cout<<sum;
return 0;
}
标签:没有 show clu int lin 规律 return 开始 code
原文地址:https://www.cnblogs.com/clear-skies/p/12255281.html