为什么我连输入都输不进

B3625 迷宫寻路

qweryyzs @ 2024-08-10 10:42:08

为什么我连输入都输不进

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
long long int n,m,a[100][100],bc[110][110];
bool bl=false;
int b[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
void dfs(int x,int y)
{
    int x1,y1;
    if(x==n&&y==m)
    {
        bl=true;
        return;
    }
    for(int i=0;i<4;i++)
    {
        x1=x+b[i][1];
        y1=y+b[i][2];
        if(x1==n+1||x1==0||y1==m+1||y1==0)
            continue;
        if(a[x1][y1]==0&&bc[x1][y1])
        {
            bc[x1][y1]=1;
            dfs(x1,y1);
            bc[x1][y1]=0;
        }

    }
}
int main()
{
    char c;
    cin>>n,m;
    for(int i=1;i<=n;i++)
    {
        for(int l=1;l<=m;l++)
        {
            cin>>c;
            if(c=='#')
                a[i][l]=2;
            else
                a[i][l]=0;
        }
    }
    bc[1][1]=1;
    dfs(1,1);
    if(bl==true)
        cout<<"Yes";
    else
        cout<<"No";
    return 0;
}

by ljk8886 @ 2024-08-10 10:44:32

@qweryyzs cin>>n,m; 应该改成 cin>>n>>m;


by yangzhiyuan666 @ 2024-08-10 10:45:20

@qweryyzs

cin>>n,m;

你确定是这么输入的


by pmkmzfuzsotqotmzs @ 2024-08-10 10:59:52

@qweryyzs 这只能输入一个数


|