zoukankan      html  css  js  c++  java
  • POJ1979(DFS)

          题意就是:从起点开始走,走到无路可走,一共走了几步?深搜。走一步,计数器加1。

          代码如下:

    #include<stdio.h>

    char a[20][20];
    int d[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
    int wid,len,cnt;
    void dfs(int x,int y);

    int main()
    {
    int i,j,bx,by;

    while(scanf("%d%d",&len,&wid) == 2 )
    {
    if( !len ) break;
    cnt = 0 ;
    for(i = 0 ; i < wid ; ++i)
    {
    scanf("%s",a[i]);
    for(j = 0 ; j < len ; ++j)
    if(a[i][j] == '@')
    {
    bx = i ; by = j;
    }
    }

    dfs(bx,by);
    printf("%d\n",cnt);
    }
    return 0;
    }

    void dfs(int x,int y)
    {
    int dx,dy,i;
    a[x][y] = '#';
    ++cnt;
    for(i = 0 ; i < 4 ; ++i )
    {
    dx = x + d[i][0];
    dy = y + d[i][1];

    if(dx < 0 || dx >= wid || dy < 0 || dy >= len )
    continue;
    if(a[dx][dy] == '.')
    dfs(dx,dy);
    }
    }
  • 相关阅读:
    滤镜
    android 判断网络是否断开
    U5
    android 界面跳转
    光影魔术手 图片压缩
    服务器绑定 独立ip
    Java 开源 SOCKET 框架
    spring aop ehcache
    呼叫中心
    华丽字体
  • 原文地址:https://www.cnblogs.com/HpuAcmer/p/2253336.html
Copyright © 2011-2022 走看看