zoukankan      html  css  js  c++  java
  • hud 1312 Red and Black

    题目:

        链接:点击打开链接

    题意:

        DFS搜索

    算法:

        dfs

    思路:

        简单题

    代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    
    int w,h;
    char s[30][30];
    int vis[30][30];
    int cnt;
    
    void dfs(int x,int y)
    {
        if(s[x][y] == '#' || vis[x][y])
            return ;
        if(x>=h || y>=w || x<0 || y<0)
            return ;
        if(s[x][y] == '@' && vis[x][y] == 0)
        {
            ++cnt;
        }
        if(s[x][y] == '.' && vis[x][y] == 0)
        {
            ++cnt;
            s[x][y] = '@';
        }
        vis[x][y] = 1;
        dfs(x-1,y);
        dfs(x,y-1);
        dfs(x,y+1);
        dfs(x+1,y);
    }
    
    int main()
    {
        //freopen("input.txt","r",stdin);
        while(scanf("%d%d",&w,&h) != EOF && (w || h))
        {
            memset(vis,0,sizeof(vis));
            memset(s,0,sizeof(s));
            getchar();
            for(int i=0; i<h; i++)
                gets(s[i]);
            cnt = 0;
            for(int i=0; i<h; i++)
            {
                for(int j=0; j<w; j++)
                {
                    if(s[i][j] == '@' && vis[i][j] == 0)
                    {
                        dfs(i,j);
                    }
                }
            }
            cout<<cnt<<endl;
        }
        return 0;
    }
    


  • 相关阅读:
    day08超市商品库存案例
    day07
    day06_03
    day06_02
    day06_01
    最简单的库存管理java案例
    Day05_homework
    方法的使用注意事项
    day05
    冒泡排序
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5091352.html
Copyright © 2011-2022 走看看