repeat_全球变暖_DFS

repeat_全球变暖_DFS_第1张图片

//
#include
using namespace std;
#define mem( a,v ) memset( a,v,sizeof(a) )

const int N=1111;
char mp[N][N];
bool used[N][N];

int flag;

int dx[4]={ -1,1,0,0 };
int dy[4]={ 0,0,-1,1 };

void dfs( int x,int y )
{
    int i,nx,ny;
    used[x][y]=1;

    for( i=0;i<4;i++ )
    {
        nx=x+dx[i],ny=y+dy[i];
        if( mp[nx][ny] !='#' ) break;
    }
    if( i==4 ) flag=1;

    for( i=0;i<4;i++ )
    {
        nx=x+dx[i],ny=y+dy[i];      // mp arr_name
        if( used[nx][ny]==0 && mp[nx][ny]=='#' ) dfs( nx,ny );
    }
}

void init() { mem( mp,0 ); mem( used,0 ); }

int main()
{
    int n,i,j,ans;

    while( cin>>n )
    {
        init();
        for( i=0;i>mp[i][j];
        }

        ans=0;
        for( i=0;i

你可能感兴趣的:(知识图谱)