zoukankan      html  css  js  c++  java
  • zoj 2165

    很简单的DFS搜索水题,递归理解深了很easy的!打了一遍就ac了

    #include<stdio.h>
    int atr[25][25];
    int count=1,n,m;
    void DFS(int x,int y)
    {
        int i=0;
        for(i=0;i<4;i++)
        {
            if(i==0)
            {
                if((y-1)>=0&&atr[y-1][x]==0)/*向上有点并且可以访问*/
                {
                    count++;
                    atr[y-1][x]=1;
                    DFS(x,y-1);
                }
            }
            else if(i==1)
            {
                if((x+1)<m&&atr[y][x+1]==0)/*向上有点并且可以访问*/
                {
                    count++;
                    atr[y][x+1]=1;
                    DFS(x+1,y);
                }
            }
            else if(i==2)
            {
                if((y+1)<n&&atr[y+1][x]==0)
                {
                    count++;
                    atr[y+1][x]=1;
                    DFS(x,y+1);
                }
            }
            else if(i==3)
            {
                if((x-1)>=0&&atr[y][x-1]==0)
                {
                    count++;
                    atr[y][x-1]=1;
                    DFS(x-1,y);
                }
            }
        }
    }
    int main(int argc, char* argv[])
    {
        int i,j;
        char c;
        int sx,sy;    
        while(scanf("%d%d",&m,&n)!=EOF&&(m!=0||n!=0))
        {
            count=1;
            getchar();
            for(i=0;i<n;i++)
                {
                    for(j=0;j<m;j++)
                    {
                    scanf("%c",&c);
                    if(c=='.')
                        atr[i][j]=0;
                    else if(c=='#')
                        atr[i][j]=-1;
                    else if(c=='@')
                    {
                        atr[i][j]=1;
                        sx=j;sy=i;
                    }
                    }
                    getchar();
                }
            DFS(sx,sy);
            printf("%d
    ",count);
        }
        return 0;
    }
  • 相关阅读:
    ubuntu开机启动
    我的linux之路
    继承
    oracle 10g win7 win8 下的安装
    Java 安全检测
    BigDecimal 四舍五入
    Java Map 便利
    java split . |
    java 爬虫 Jsoup
    获取当前路径
  • 原文地址:https://www.cnblogs.com/woshijishu3/p/3617822.html
Copyright © 2011-2022 走看看