• HDU 1241 Oil Deposits


    题意: @代表油田 可以从8个方向连接 问一个图里有多少个油田

    #include<bits/stdc++.h>
    using namespace std;
    
    int dx[8]={0,0,1,1,-1,-1,1,-1};
    int dy[8]={1,-1,0,-1,0,1,1,-1};
    char mp[105][105];
    int vis[105][105];
    int n,m,ans,cnt,sum;
    
    void dfs(int x,int y)
    {
    	//if(sum==cnt) return ans;
    	for(int i=0;i<8;i++)
    	{
    		int nextx=x+dx[i];
    		int nexty=y+dy[i];
    		if(nextx>=1 && nextx<=n && nexty>=1 &&nexty<=m)
    		{
    			//if(mp[x][y]=='*' && mp[nextx][nexty]=='@' && !vis[nextx][nexty]) ans++;
    			if(mp[nextx][nexty]=='@' && !vis[nextx][nexty])
    			{
    				vis[nextx][nexty]=1;	
    				sum++;
    				dfs(nextx,nexty);
    			}
    			//cout<<ans<<endl; 
    			
    		}
    		
    	}
     } 
    int main()
    {
    	while(cin>>n>>m)
    	{
    		if(m==0) break;
    		cnt=0,sum=0;
    		for(int i=1;i<=n;i++)
    		{
    			for(int j=1;j<=m;j++)
    			{
    				cin>>mp[i][j];
    				//if(mp[i][i]=='@') cnt++;
    			}
    		}
    		ans=0;
    		memset(vis,0,sizeof(vis));
    		for(int i=1;i<=n;i++)
    		{
    			for(int j=1;j<=m;j++)
    			{
    				if(mp[i][j]=='@' && !vis[i][j])
    				{
    					dfs(i,j);
    					ans++;
    				}
    			}
    		}
    		cout<<ans<<endl;
    		
    	}
    	return 0;
    }
    
  • 相关阅读:
    PostgreSQL缺省值
    PostgreSQL表的基本概念
    PostgreSQL调用函数
    4.2. PostgreSQL值表达式
    3.5. PostgreSQL继承
    3.4. PostgreSQL事务
    3.3. PostgreSQL外键
    3.2. PostgreSQL视图
    碰撞
    骨骼
  • 原文地址:https://www.cnblogs.com/tianming1/p/13724408.html
Copyright © 2020-2023  润新知