90分求助

回复帖子

@Lates 2019-06-03 21:13 回复

第七个点WA了

数据:

4 4 0
3 3 3 4
86

程序

#include<iostream>
#include<cstring>
#include<cstdio>

using namespace std;

int n,m,t;
#define MAX 10

int f[MAX][MAX];
int sx,sy;
int fx,fy;

int ans=0;

int X[10]={0,0,1,-1};
int Y[10]={1,-1,0,0}; 

void dfs(int x,int y){
    if(f[x][y]==-1||x<1||y<1||x>n||y>n)
        return ;
    if(x==fx&&y==fx){
        ans++;
        return ;
    }
    for(int i=0;i<4;++i){
        f[x][y]=-1;
        dfs(x+X[i],y+Y[i]);
        f[x][y]=0;  
    }   
    return ;
}
int main(){
    scanf("%d%d%d",&n,&m,&t);
    scanf("%d%d%d%d",&sx,&sy,&fx,&fy);
    memset(f,0,sizeof(f));
    while(t--){
        int ox,oy;
        scanf("%d%d",&ox,&oy);
        f[ox][oy]=-1;   
    }
    dfs(sx,sy);
    cout<<ans;
    return 0;
}

麻烦dalao帮忙改一下,谢谢

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



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