究竟是为什么只打10分,,,输出清一色的0,,,
查看原帖
究竟是为什么只打10分,,,输出清一色的0,,,
340222
代码练习生楼主2020/8/5 10:35
#include<stdio.h>

int N,M,T,R1,C1,R2,C2,count;
char map[101][101];

void
dfs(int x,int y,int t){
    if(t>T)
        return ;
    if(x==R2 && y==C2 && t==T){
        count++;
        return ;
    }
    
    if(x>1 && map[x-1][y]!='*')
        dfs(x-1,y,t+1);
    if(x<N && map[x+1][y]!='*')
        dfs(x+1,y,t+1);
    if(y>1 && map[x][y-1]!='*')
        dfs(x,y-1,t+1);
    if(y<M && map[x][y+1]!='*')
        dfs(x,y+1,t+1);
}

int
main(){
    int i,j;
    
    scanf("%d%d%d",&N,&M,&T);
    for(i=1;i<=N;i++){
        for(j=1;j<=M;j++){
            scanf("%c",map[i]+j);
        }
    }
    scanf("%d%d%d%d",&R1,&C1,&R2,&C2);
    dfs(R1,C1,0);
    printf("%d",count);
    return 0;
}
2020/8/5 10:35
加载中...