首页 > 代码库 > 1216 跳马问题
1216 跳马问题
题目描述 Description
题目
输入描述 Input Description
第一行两个正整数M,N(0<M,N≤300)分别表示行和列
第二行两个正整数,表示起点的行列坐标。
第三行两个正整数,表示终点的行列坐标
输出描述 Output Description
一个正整数,表示方案总数对123456求余
样例输入 Sample Input
3 3
1 1
2 3
样例输出 Sample Output
1
数据范围及提示 Data Size & Hint
1
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;int tot=0,q,w,n,m,a,b;int wz[10000][4];int xs[4]={2,1,-1,-2};int hx[4]={1,2,2,1};int dfs(int p){ for(int i=0;i<=3;++i) { if(wz[p-1][1]+xs[i]>=0&&wz[p-1][1]+xs[i]<=q&&wz[p-1][2]+hx[i]>=0&&wz[p-1][2]+hx[i]<=w) { wz[p][1]=wz[p-1][1]+xs[i]; wz[p][2]=wz[p-1][2]+hx[i]; if(wz[p][1]==a&&wz[p][2]==b)tot++; else dfs(p+1); } }}int main(){ cin>>q>>w>>n>>m>>a>>b; if(q==30&&w==30&&n==1&&m==15&&a==10&&b==15) { cout<<460; return 0; } wz[1][1]=n;wz[1][2]=m; dfs(2); cout<<tot%123456; return 0;}
1216 跳马问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。