早教吧 育儿知识 作业答案 考试题库 百科 知识分享

DevC++编译成功后运行显示“程序已停止工作”,马拦过河卒棋盘上A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下、或者向右.同时在棋盘上C点有一个对方的马,该马所在的点和所

题目详情
Dev C++编译成功后运行显示“程序已停止工作”,
马拦过河卒
棋盘上A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下、或者向右.同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点.因此称之为“马拦过河卒”.
棋盘用坐标表示,A点(0,0)、B点(n,m)(n,m为不超过15的整数),同样马的位置坐标是需要给出的.现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步.
【输入】
一行四个数据,分别表示B点坐标和马的坐标.
【输出】
一个数据,表示所有的路径条数.
【样例】
knight.in knight.out
6 6 3 3 6
#include
using namespace std;
const int dx[8]={1,2,2,1,-1,-2,-2,-1};
const int dy[8]={2,1,-1,-2,-2,-1,1,2};
const int cx[2]={1,0};
const int cy[2]={0,1};
void dfs(int i);
void print (int i);
int n,m,a,b,i,x[15],y[15];
int mx[15],my[15];
int main(){
cin>>n>>m;
cin>>a>>b;
for(int j=1;j
▼优质解答
答案和解析
for(int j=1;j