美文网首页
图的广度优先搜索

图的广度优先搜索

作者: hdchieh | 来源:发表于2019-03-19 13:02 被阅读0次
    #include<stdio.h>
    #include<string.h>
    int count;
    char room[20][20];
    int reached[20][20];
    int m,n;
    void move(int x,int y){
        //printf("x%d,y%d,room[%d][%d]%c\n",x,y,x,y,room[x][y]);
        if(x>=0&&x<m&&y>=0&&y<n&&(room[x][y]=='.'||room[x][y]=='@'))
            if(reached[x][y]==0){
                reached[x][y]=1;
                count++;
                move(x-1,y);
                move(x+1,y);
                move(x,y-1);
                move(x,y+1);
            }
    }
    int main(){
        int i,j; 
        while(scanf("%d%d",&m,&n)!=EOF){
            i=j=-1;
            count=0;
            for(int k=0;k<m;k++){
                scanf("%s",room[k]);
                //printf("test:%s\n",room[k]);
                memset(reached[k],0,sizeof(int)*n);
                if(i==-1){
                    if(strchr(room[k],'@')!=NULL){
                        i=k;
                        j=(int)(strchr(room[k],'@')-room[k]);
                    } 
                }
            }
            move(i,j);
            printf("%d\n",count);
        }
    }
    

    https://www.nowcoder.com/practice/5017fd2fc5c84f78bbaed4777996213a?tpId=3&&tqId=10879&rp=1&ru=/activity/oj&qru=/ta/hackathon/question-ranking

    相关文章

      网友评论

          本文标题:图的广度优先搜索

          本文链接:https://www.haomeiwen.com/subject/zsajmqtx.html