日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SDUT 1265-马停下过河卒(DFS)

發(fā)布時間:2025/3/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SDUT 1265-马停下过河卒(DFS) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

馬攔過河卒

Time Limit: 3000ms?? Memory limit: 65536K??有疑問?點這里^_^

題目描寫敘述

棋盤上A點有一個過河卒,須要走到目標B點。卒行走的規(guī)則:可以向下、或者向右。

同一時候在棋盤上C點有一個對方的馬,該馬所在的點和全部跳躍一步可達的點稱為對方馬的控制點。

因此稱之為“馬攔過河卒”。棋盤用坐標表示,A點(0。0)、B點(n,m)(n,m為不超過15的整數(shù))。相同馬的位置坐標是須要給出的。如今要求你計算出卒從A點可以到達B點的路徑的條數(shù),如果馬的位置是固定不動的,并非卒走一步馬走一步。

輸入

一行四個數(shù)據(jù),用空格分隔,分別表示B點的坐標和馬的坐標。

輸出

一個數(shù)據(jù),表示全部的路徑條數(shù)。

演示樣例輸入

6 6 3 3

演示樣例輸出

6 sad 寫了好久。。

接近一個小時。一開始竟然把馬的范圍初始化錯了。。

首先生成地圖,然后掛掉馬的范圍(8個點) 。然后爆搜就能夠了。 #include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <cctype> #include <cmath> #include <cstdlib> #include <vector> #include <queue> #include <set> #include <map> #include <list> #define ll long long using 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; }

版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。

轉(zhuǎn)載于:https://www.cnblogs.com/blfshiye/p/4731689.html

總結(jié)

以上是生活随笔為你收集整理的SDUT 1265-马停下过河卒(DFS)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。