求助,为什么编译错误啊
查看原帖
求助,为什么编译错误啊
1082840
Guard_42楼主2023/9/6 20:26
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <vector>
#include <iostream>
#include <string>

using namespace std;

int n;
string target = "yizhong";
int dx,dy;
int dir[][2]={{1,1},{1,-1},{-1,-1},{-1,1},{1,0},{-1,0},{0,-1},{0,1}};
struct node{
    int x,y;
}pos[200];
    
bool DFS(int i,int j,node c[],int k,int finder,vector<vector<bool>> &vis,vector<vector<char>> &matrix){
    if(finder==7){
        for(int m=0;m<7;m++)
            vis[c[m].x][c[m].y]=true;
        return true;
    }
    if(i<0||j<0||i>=n||j>=n){
        return false;
    }
    if(matrix[i][j]!=target[finder]){
        return false;
    }
    else{
        dx=i+dir[k][0];
        dy=j+dir[k][1];
        if(finder==6||matrix[dx][dy]==target[finder+1]){
            pos[finder].x=i;
            pos[finder].y=j;
            if(DFS(dx,dy,pos,k,finder+1,vis,matrix))return true;
        }
    }
}

void print(vector<vector<bool>> &vis,vector<vector<char>> &matrix,int n){
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(vis[i][j]==true){
                cout<<matrix[i][j];
            }
            else cout<<'*';
        }
        cout<<endl;
    }
}

int main(){
    cin>>n;
    vector<vector<char>> matrix(n,vector<char>(n));
    vector<vector<bool>> vis(n,vector<bool>(n,false));
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>matrix[i][j];
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            if(matrix[i][j]=='y'){
                for(int k=0;k<8;k++){
                    int dx1=i+dir[k][0];
                    int dy1=j+dir[k][1];
                    if(matrix[dx1][dy1]=='i'){
                        DFS(i,j,pos,k,0,vis,matrix);
                    }
                }
            }
        }
    }
    print(matrix,vis,n);
    return 0;
}

如题,求助

2023/9/6 20:26
加载中...