zoukankan      html  css  js  c++  java
  • poj 1979 简单深搜 一次 ac 不解释

    #include<iostream>
    #include<cstring>
    //#include<fstream>
    using namespace std;

    int bmp[4][2]={{0,1},{0,-1},{1,0},{-1,0}};

    char num[25][25];
    int m,n,sum;
    bool cheak(int a,int b)
    {
    if(a >= 1 && a <= m && b >= 1 && b <= n)
    return true;
    return false;

    }
    void dfs(int x,int y)
    {
    int a,b;

    num[x][y] = '#';
    for(int i=0;i<4;i++)
    {
    a = x + bmp[i][0];
    b = y + bmp[i][1];
    if(cheak(a,b) && num[a][b] != '#' )
    {

    dfs(a,b);
    sum ++;
    }
    }
    }
    int main()
    {
    //ifstream cin("in.txt");
    int a,b,i,j;
    while(cin>>n>>m,m+n)
    {
    memset(num,0,sizeof(num));
    sum = 1;
    for( i=1;i<=m;i++)
    {
    for( j=1;j<=n;j++)
    {
    cin>>num[i][j];
    if(num[i][j] == '@' )
    {
    a = i;
    b = j;
    }

    }
    }

    dfs(a,b);
    cout<<sum<<endl;

    }
    }

  • 相关阅读:
    2019.8.16
    一种抠环的办法
    [HAOI2015]树上染色
    有关树形背包
    2019.7.27
    有关矩阵快速幂
    2019.7.25
    欧拉函数(转载)
    2019.7.22
    phpstudy集成环境安装redis扩展
  • 原文地址:https://www.cnblogs.com/lfyy/p/2762793.html
Copyright © 2011-2022 走看看