zoukankan      html  css  js  c++  java
  • UVA 572

    这是一道纯正的深度优先搜索题目。

    题目要求在有多少个不同的块,而不同块的定义则是,一个块中的任意一点和l另一个块中的任意一点不会相连,而相连的定义则是

    在横向、纵向和对角线上相连。

    #include<stdio.h>
    #include<string.h>
    char map[101][101];
    int m,n;
    int search(int x,int y)
    {
    if(x<0||y<0||x>m||y>n)
    return 0;
    if(map[x][y]=='@')
    {
    map[x][y]='1';
    search(x,y+1);
    search(x+1,y+1);
    search(x+1,y);
    search(x+1,y-1);
    search(x,y-1);
    search(x-1,y-1);
    search(x-1,y);
    search(x-1,y+1);
    return 1;
    }
    if(map[x][y]=='*')
    {
    map[x][y]='1';
    return 0;
    }
    if(map[x][y]=='1')
    return 0;
    }
    int main()
    {

    while(scanf("%d%d",&m,&n)!=EOF)
    {
    getchar();
    if(m==0||n==0)
    break;
    memset(map,'',sizeof(map));
    int i,j,ans=0,t;
    for(i=1;i<=m;i++)
    {
    for(j=1;j<=n;j++)
    {
    scanf("%c",&map[i][j]);
    }
    getchar();
    }
    for(i=1;i<=m;i++)
    for(j=1;j<=n;j++)
    {
    if(map[i][j]=='*'||map[i][j]=='1')
    continue;
    t=search(i,j);
    if(t!=0)
    ans++;
    }
    printf("%d ",ans);
    }
    return 0;
    }

  • 相关阅读:
    react脚手架搭建及配置
    mac使用技巧
    nginx配置
    vue常见前端UI库
    自定义指令
    代码缩进修改
    webpack学习入门
    webpack使用extract-text-webpack-plugin打包时提示错误
    webpack未成功全局安装
    基于jQuery的AJAX实现三级联动菜单
  • 原文地址:https://www.cnblogs.com/hbutACMER/p/4219015.html
Copyright © 2011-2022 走看看