题目
输入
8
qyizhong
gydthkjy
nwidghji
orbzsfgz
hhgrhwth
zzzzzozo
iwdfrgng
yyyygggg
给定n的方阵,搜索里面按照八个方向中的任意一个方向的制定字符串“yizhong”。输出就是除了找到的东西其余的都输出为“*”。
输出
yizhong
gy*****
ni*****
oz***
hh***
zo**
i*****n
y****g
分析
- 首先是指定方向的dfs,那就将方向也放入参数。然后在main函数中设置参数的for循环。
- 指定字符串的搜寻:将字符串存入string中,利用其中的find函数,判断扩展的xx和yy位置对应的字符是不是原来x和y对应字符的下一个。
- dfs的出口就是走到制定字符串的最后一个字母了。
代码
#include<bits/stdc++.h>
#define MAX 105
using namespace std;
int n;
char gra[MAX][MAX];
bool vis[MAX][MAX]={
0};
int dx[]={
0,-1,-1,-1,0,1,1,1};
int dy[