博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SDUT 1265-马停下过河卒(DFS)
阅读量:5278 次
发布时间:2019-06-14

本文共 1749 字,大约阅读时间需要 5 分钟。

马拦过河卒

Time Limit: 3000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描写叙述

棋盘上A点有一个过河卒,须要走到目标B点。卒行走的规则:可以向下、或者向右。

同一时候在棋盘上C点有一个对方的马,该马所在的点和全部跳跃一步可达的点称为对方马的控制点。

因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0。0)、B点(n,m)(n,m为不超过15的整数)。相同马的位置坐标是须要给出的。如今要求你计算出卒从A点可以到达B点的路径的条数,如果马的位置是固定不动的,并非卒走一步马走一步。

输入

一行四个数据,用空格分隔,分别表示B点的坐标和马的坐标。

输出

一个数据,表示全部的路径条数。

演示样例输入

6 6 3 3

演示样例输出

6
sad 写了好久。。

接近一个小时。一開始竟然把马的范围初始化错了。。

首先生成地图,然后挂掉马的范围(8个点) 。然后爆搜就能够了。
 
#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long longusing namespace std;const int INF = 0x3f3f3f3f;int n,m,ex,ey,ans,ma[20][20];bool vis[20][20];void dfs(int x,int y){ if(x==n&&y==m) { ans++; return ; } if(x+1<=n&&ma[x+1][y]&&!vis[x+1][y]) { vis[x+1][y]=1; dfs(x+1,y); vis[x+1][y]=0; } if(y+1<=m&&ma[x][y+1]&&!vis[x][y+1]) { vis[x][y+1]=1; dfs(x,y+1); vis[x][y+1]=0; }}int main(){ memset(vis,0,sizeof(vis)); scanf("%d%d%d%d",&n,&m,&ex,&ey); ans=0; for(int i=0;i<=n;i++) for(int j=0;j<=m;j++) ma[i][j]=1; if(ex-1>=0&&ex-1<=n&&ey-2>=0&&ey-2<=m)ma[ex-1][ey-2]=0; if(ex-1>=0&&ex-1<=n&&ey+2>=0&&ey+2<=m)ma[ex-1][ey+2]=0; if(ex+1>=0&&ex+1<=n&&ey-2>=0&&ey-2<=m)ma[ex+1][ey-2]=0; if(ex+1>=0&&ex+1<=n&&ey+2>=0&&ey+2<=m)ma[ex+1][ey+2]=0; if(ex+2>=0&&ex+2<=n&&ey-1>=0&&ey-1<=m)ma[ex+2][ey-1]=0; if(ex+2>=0&&ex+2<=n&&ey+1>=0&&ey+1<=m)ma[ex+2][ey+1]=0; if(ex-2>=0&&ex-2<=n&&ey+1>=0&&ey+1<=m)ma[ex-2][ey+1]=0; if(ex-2>=0&&ex-2<=n&&ey-1>=0&&ey-1<=m)ma[ex-2][ey-1]=0; if(ex>=0&&ex<=n&&ey>=0&&ey<=m)ma[ex][ey]=0; vis[0][0]=1; dfs(0,0); printf("%d\n",ans); return 0;}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/blfshiye/p/4731689.html

你可能感兴趣的文章
height自适应
查看>>
vue学习——项目目录讲解
查看>>
18年9月面试心得
查看>>
Ambari之Get请求的处理流程
查看>>
防火墙1433端口打开即可远程数据库
查看>>
AJAX请求 $.getJson方法的使用
查看>>
SPOJ31428 FIBONOMIAL(斐波那契数列)
查看>>
java各种集合的线程安全
查看>>
Vagrant 手册之网络 - 私有网络 private network
查看>>
又一个新的css流程图示例
查看>>
结构体优先队列排序
查看>>
分词技术简介
查看>>
poj 3258 River Hopscotch(二分+贪心)
查看>>
[POJ 2559]Largest Rectangle in a Histogram 题解(单调栈)
查看>>
VMware
查看>>
深入了解以太坊虚拟机第5部分——一个新合约被创建后会发生什么
查看>>
io多路复用
查看>>
Cache缓存
查看>>
objective-c基础
查看>>
NET中各种加密解密方法
查看>>