zoukankan      html  css  js  c++  java
  • pku1979

    #include<stdio.h>
    #include
    <stdlib.h>
    #include
    <string.h>
    int visited[100][100];
    char str[100][100];
    int i,j,n,m,move[4][2]={{0,1},{0,-1},{1,0},{-1,0}},count,max;
    int f(int x,int y)
    {
        
    if(x>=0&&y>=0&&x<n&&y<m)
            
    return 1;
        
    else 
            
    return 0;
    }
    void dfs(int i,int j)
    {
        
    int k,x=i,y=j;

        
    if(str[x][y]=='.'&&f(x,y))
        {
            
    ++count;
            

        visited[x][y]
    =1;

            
    for(k=0;k<4;k++)
            {   

             x
    =i+move[k][0];y=j+move[k][1];
               
    if(str[x][y]=='.'&&f(x,y)&&(!visited[x][y]))
                
                dfs(x,y);
            }
        }
    }
    int main()
    {
        
    int x=0,y=0,i,j;
        
        
    while(scanf("%d %d",&m,&n))
        {
            
    if(n==0&&m==0)
                
    break;
            memset(str,
    0,sizeof(str));
            
    for(i=0;i<n;i++)
                scanf(
    "%s",str[i]);
            count
    =0;
            
    for(i=0;i<n;i++)
                
    for(j=0;j<m;j++)
                {
                    
    if(str[i][j]=='@')
                    {
                        x
    =i;y=j;
                
                    }
                    visited[i][j]
    =0;
                }
                str[x][y]
    ='.';
             
                dfs(x,y);
                printf(
    "%d\n",count);
                memset(visited,
    0,sizeof(visited));


        }
        
    //system("pause");
        
        
    return 0;
            
    }
  • 相关阅读:
    Java之冒泡完整理解
    Java 之数组的复制,
    python 小白之路(跳动的球)
    小白之旅,Python运算符
    在学习枯燥的Java中遇见美丽的Jframe,窗体中的单选按钮(JRadioButton)
    自定义的无数据提示界面
    北京地铁站经纬度集合(包含大部分)
    自定义UItextFiled,限制TextFiled 的输入长度
    消息发送机制的利用
    app 后台持续定位
  • 原文地址:https://www.cnblogs.com/ITEagle/p/1633143.html
Copyright © 2011-2022 走看看