Tempter of the Bone(DFS)
沒有剪枝,超時
#include <iostream>
#include<cstdio>
#include<string.h>
using namespace std;
char map[10][10];
int flag,step;
int d[4][2]={0,1,1,0,0,-1,-1,0};
int ex,ey,sx,sy;
int n,m;
void dfs(int x,int y,int t)
{
if(flag==1)return ;
else if(t==0)
{
if(x==ex&&y==ey)
{
flag=1;return;
}
else return ;
}
else
for(int i=0;i<4;i++) //向四個方向深搜
{
int nx=x+d[i][0],ny=y+d[i][1];
if(nx>0&&nx<=n&&ny>0&&ny<=m&&(map[nx][ny]=='.'||map[nx][ny]=='D'))
{
map[nx][ny]='X'; //標記走過
dfs(nx,ny,t-1);
map[nx][ny]='.'; //回溯
}
}
}
int main(){
char str[10];
int t;
while(scanf("%d%d%d",&n,&m,&t)!=EOF)
{
if(n==0&&m==0)return 0;
for(int i=1;i<=n;i++)
{
scanf("%s",str);
for(int j=1;j<=m;j++)
{
map[i][j] = str[j-1];
if(map[i][j]=='S')
sx=i,sy=j;
else if(map[i][j]=='D')
ex = i,ey = j;
}
}
flag=0;
dfs(sx,sy,t);
if(flag==0)printf("NO\n");
else printf("YES\n");
}
return 0;
}
相關文章
- dynamic bone unity githubUnityGithub
- 基於react + redux的Bone框架ReactRedux框架
- DFS
- dfs序
- DFS樹
- dfs技巧
- 深搜dfs
- DAG bfs + dfs 126,
- 樹的DFS序
- Prime Ring Problem (dfs)
- DFS序例題+感受
- DFS入門筆記筆記
- 圖的dfs_euler
- DFS演算法原理演算法
- DFS實現拓撲排序排序
- DFS剪枝最佳化策略
- 關於元素排列的DFS
- DFS(深度優先搜尋)
- 【題目整理】dfs入門
- 9*9的數獨(dfs)
- P1219 八皇后(dfs)
- bzoj4500: 矩陣(dfs)矩陣
- dfs的return時機問題
- dfs時間複雜度分析時間複雜度
- 聊聊演算法——BFS和DFS演算法
- 數獨問題(DFS+回溯)
- HDU1427速算24點(dfs)
- HDU - 2553 N皇后問題(DFS)
- HDU 1427-速算24點(DFS)
- 求樹的直徑(BFS/DFS)
- 有向圖的拓撲排序——DFS排序
- 藍橋杯-迷宮(BFS+DFS)
- P1101 單詞方陣【DFS】
- 模板題目:DFS (130. Surrounded Regions)
- Codefroces 1328E Tree Querie(dfs序)
- L2-007 家庭房產【DFS】
- L2-020 功夫傳人【DFS】
- P1433 吃乳酪 (dfs+剪枝)