蒟蒻求助,2,4,7,8,10WA了

回复帖子

@Endermeng 2019-06-02 22:19 回复

代码如下


#include<bits/stdc++.h>
using namespace std;
int tx[5]={0,0,1,-1};int ty[5]={-1,1,0,0};
int sx,sy,fx,fy,ans,t,l,r;
    int n,m;
int c[7][7],b[7][7];
void dfs(int x,int y)
{
    int i=1;
    if(x==fx&&y==fy)//到达目的地
    {
        ans++;//方案加1 
        return;
    }
    for(;i<=4;i++)
    {
        int xx=x+tx[i],yy=y+ty[i];
        if(b[xx][yy]==0&&c[xx][yy]==0&&xx>=1&&xx<=n&&yy>=1&&yy<=m)
        {
            b[xx][yy]=1;//当前打上标记 
            dfs(xx,yy);
            b[xx][yy]=0;//回朔 
        }
    }
}
int main()
{
    cin>>n>>m>>t;
    cin>>sx>>sy>>fx>>fy;
    c[sx][sy]=1;
    for(int i=1;i<=t;i++)
    {
        cin>>l>>r;
        c[l][r]=1;//标一 
    }
    dfs(sx,sy);
    cout<<ans;
    return 0;
}
@lovewz 2019-06-02 23:19 回复 举报

。。你这个tx和ty数组大小定义成5,然后给4个值初始化。。当然初始化不到最后一个 在第16行把4改成3即可

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。