POJ1562

Posted benzikun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ1562相关的知识,希望对你有一定的参考价值。

 前前后后写了还几遍了,本来想着今天用BFS写,结果不知道怎么用BFS回溯,然后就用DFS写了,结果应该书数组爆了,不知道怎么回事

之后又改了几遍

#include <iostream>     
using namespace std;
int m,n;
int k[8][2]=1,0,1,1,1,-1,-1,0,-1,1,-1,-1,0,1,0,-1;
char a[105][105];

void dfs(int x,int y)

    a[x][y]=*;
    for(int i=0;i<8;i++)
    
        if(a[x+k[i][0]][y+k[i][1]]==@ 
            && x+k[i][0]>=0 && x+k[i][0]<m
            && y+k[i][1]>=0 && y+k[i][1]<n)
            dfs(x+k[i][0],y+k[i][1]);
    


int main()

    while(cin>>m>>n)
    
        if(m==0 && n==0)
            break;
        int ans=0;
        for(int i=0;i<m;i++)
        
            for(int j=0;j<n;j++)
                cin>>a[i][j];
        
        for(int i=0;i<m;i++)
        
            for(int j=0;j<n;j++)
            
                if(a[i][j]==@)
                
                    dfs(i,j);
                    ans++;
                
            
        
        cout<<ans<<endl;
    
    return 0;

 

以上是关于POJ1562的主要内容,如果未能解决你的问题,请参考以下文章

POJ1562

poj1562DFS

poj 1562 Oil Deposits(dfs)

[POJ] 1562 Oil Deposits (DFS)

POJ 1562 Oil Deposits

POJ 2386