zoukankan      html  css  js  c++  java
  • 0714c

    /*************************************************************************
    > File Name: code/2015summer/0714/C_DFS.cpp
    > Author: 111qqz
    > Email: rkz2013@126.com
    > Created Time: 2015年07月15日 星期三 08时59分30秒
    ************************************************************************/

    #include<iostream>
    #include<iomanip>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    #include<cstring>
    #include<string>
    #include<map>
    #include<set>
    #include<queue>
    #include<vector>
    #include<stack>
    using namespace std;
    #define REP(i, n) for (int i=0;i<int(n);++i)
    typedef long long LL;
    typedef unsigned long long ULL;
    const int N=50;
    char ch[N][N];
    int n,m,sx,sy,ans;
    int dirx[4]={0,1,0,-1};
    int diry[4]={1,0,-1,0};
    bool vis[N][N];

    bool ok(int xx,int yy)
    {
    if (xx>=0&&xx<n&&yy>=0&&yy<m&&ch[xx][yy]=='.'&&vis[xx][yy]==false)
    return true;
    return false;
    }
    void dfs(int x,int y)
    {
    for ( int i = 0 ; i < 4 ; i++ )
    {
    int newx=x+dirx[i];
    int newy=y+diry[i];
    if (ok(newx,newy))
    {
    ans++;
    vis[newx][newy]=true;
    dfs(newx,newy);
    }
    }
    }
    int main()
    {
    while (scanf("%d %d",&m,&n)!=EOF&&n&&m)
    {
    memset(vis,false,sizeof(vis));
    ans = 0;
    getchar();
    for ( int i = 0 ; i < n ; i++ )
    for ( int j = 0 ; j < m ; j++ )
    {
    scanf("%c",&ch[i][j]);
    if (ch[i][j]=='@')
    {
    sx = i;
    sy = j;
    }
    getchar();

    }
    dfs(sx,sy);
    cout<<ans<<endl;
    }
    return 0;
    }

  • 相关阅读:
    Notes of Daily Scrum Meeting(12.22)
    一个合格的程序员应该读过哪些书
    snprintf vs sprintf
    Centos 关闭图形界面
    oracle selinux 问题
    struct 和typedef struct的区别
    c语言字符串函数
    504. Base 7
    汉诺塔python实现
    VIM字符编码基础知识
  • 原文地址:https://www.cnblogs.com/111qqz/p/4647399.html
Copyright © 2011-2022 走看看