奇怪的编译错误
查看原帖
奇怪的编译错误
735935
Etic_HAO楼主2022/10/11 18:12
#include<bits/stdc++.h>
using namespace std;

char a[110],b="yizhong";
bool vis[110][110];
int xx[10]={1,1,1,0,0,-1,-1,-1},yy[10]={1,0,-1,1,-1,0,1,-1};
int n,flag;

void dfs(int x,int y){
    for(int i=0;i<8;i++){
        flag=1;
        for(int j=0;j<7;j++){
            int dx=x+j*xx[i];
            int dy=y+j*yy[i];
            if(dx<1||dx>n||dy<1||dy>n||a[dx][dy]!=b[j])
            {
                flag=0;
                break;
            }
        }
        if(flag){
            for(int j=0;j<7;j++)
            {
                int dx=x+j*xx[i];
                int dy=y+j*yy[i];
                vis[dx][dy]=1;
            }
        }
    }
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
		    cin>>a[i][j];
		    }
	}

    for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++)
		    {
		        if(a[i][j]=='y')
		        dfs(i,j);
		    }
	}
   
	for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(vis[i][j]) cout<<a[i][j];
            else cout<<"*";
        }
        cout<<endl;
    }
    return 0;
}
2022/10/11 18:12
加载中...