zoukankan      html  css  js  c++  java
  • hdu 1312

    恩,直接DFS,还好,不算很慢

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    char map[21][21];
    int n,m,cnt;
    int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
    void dfs(int si,int sj)
    {
    	for(int k=0;k<4;k++)
    	{
    		int i=si+dir[k][0];
    		int j=sj+dir[k][1];
    		if(i>0&&i<=m&&j>0&&j<=n&&map[i][j]!='#')
    		{
    			map[i][j]='#';
    			cnt++;
    			dfs(i,j);
    			//cout<<i<<' '<<j<<endl;
    		}
    	}
    	return ;
    }
    int main()
    {
    	int s1,s2;
    	while(cin>>n>>m&&(n||m))
    	{
    		for(int i=1;i<=m;i++)
    		{
    			for(int j=1;j<=n;j++)
    			{
    				cin>>map[i][j];
    				if(map[i][j]=='@')
    				{s1=i;s2=j;}
    			}
    		}
    		map[s1][s2]='#';
    		cnt=1;
    		dfs(s1,s2);
    		cout<<cnt<<endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    scrapy 中间件
    索引
    理解平均负载
    jquery1
    网络编程
    模块
    进程
    图书管理系统用ajax删除书籍
    mysql
    jquery
  • 原文地址:https://www.cnblogs.com/nanke/p/2123911.html
Copyright © 2011-2022 走看看