奇怪的错误
  • 板块P1141 01迷宫
  • 楼主Itachi_CjR
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/8/18 20:31
  • 上次更新2023/10/27 14:42:55
查看原帖
奇怪的错误
366886
Itachi_CjR楼主2022/8/18 20:31

代码:

#include<bits/stdc++.h>
using namespace std;
int n,m;
int mmap[1000][1000];
int fx[4]={0,0,-1,1};
int fy[4]={-1,1,0,0};
struct node{
    int x;
    int y;
    int se;
};
void bfs(int x,int y,int se) {
    int ttmap[1000][1000];
    for(int i=0;i<n;i++) {
        for(int j=0;j<n;j++) {
            ttmap[i][j]=mmap[i][j];
        }
    }
    queue<node> q;
    q.push(node{x,y,se});
    ttmap[x][y]=-1;
    while(!q.empty()) {
        node qn=q.front();
        q.pop();
        for(int i=0;i<4;i++) {
            int tx=qn.x+fx[i];
            int ty=qn.y+fy[i];
            int tse=qn.se;
            if(tx<0||tx>=n||ty<0||ty>=n||ttmap[tx][ty]==tse||ttmap[tx][ty]==-1) continue;
            cout<<tx<<' '<<ty<<endl;
            ttmap[tx][ty]=-1;
            q.push(node{tx,ty,tse});
        }
    }
}
int main() {
    char tc;
    cin>>n>>m;
    for(int i=0;i<n;i++) {
        for(int j=0;j<n;j++) {
            cin>>tc;
            mmap[i][j]=tc-'0';
        }
    }
    for(int i=0;i<m;i++) {
        int tx,ty;
        cin>>tx>>ty;
        bfs(tx,ty,mmap[tx][ty]);
    }
    return 0;
}

输入: 2 2 01 10 1 1 2 2 输入到1 1时回车后程序显示退出 ???

2022/8/18 20:31
加载中...