求助
查看原帖
求助
1065766
zhangzeen楼主2024/3/16 22:12

求问各位大佬,为什么下了测试点,输出一样,但是全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;
	}
}

2024/3/16 22:12
加载中...