求问各位大佬,为什么下了测试点,输出一样,但是全WA。
#include<bits/stdc++.h>
using namespace std;
int n,xx[9]={0,1,0,1,-1,0,-1,1,-1},yy[9]={0,0,1,1,0,-1,-1,-1,1},b[1000][1000],c;
char a[1000][1000];
string s=" yizhong";
bool dfs(int x,int y,int z,int fx){
if(z>7){
return 1;
}
if(a[x][y]==s[z]&&x>=1&&x<=n&&y>=1&&y<=n){
if(dfs(x+xx[fx],y+yy[fx],z+1,fx)){
b[x][y]=1;
return 1;
}
}
return 0;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=0;j<=n;j++){
a[i][j]=getchar();
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]=='y'){
for(int k=1;k<=8;k++){
if(dfs(i,j,1,k)){
b[i][j]=1;
}
}
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(b[i][j]){
cout<<a[i][j];
}
else{
cout<<"*";
}
}
cout<<endl;
}
}