zoukankan      html  css  js  c++  java
  • 洛谷——P1767 家族_NOI导刊2010普及(10)

    P1767 家族_NOI导刊2010普及(10)

    题目描述

    在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏。现在给你岛上的地图,求出岛上有多少个不同的家族。岛上的地图有n行,每行有若干列,每个格子中要么是“ ”,表示大海,要么是“*”,表示河流或山丘,要么是小写字母,表示一户人家的姓氏。

    搜索

    注意细节,输入以及判断可否到达ma[i][j]>='a'&&ma[i][j]<='z

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    
    using namespace std;
    
    int n,tot,m;
    char ma[205][205];
    bool vi[205][205];
    
    int dx[]={0,0,1,-1},
        dy[]={1,-1,0,0};
    
    bool tp(int x,int y){
        return x>=1&&x<=n&&y>=1&&y<=m;
    }
    
    string s;
    
    void dfs(int x,int y){
        vi[x][y]=1;
        for(int i=0;i<4;i++){
            int tx=x+dx[i],ty=y+dy[i];
            if(!vi[tx][ty]&&ma[tx][ty]>='a'&&ma[tx][ty]<='z'&&tp(tx,ty)){
                dfs(tx,ty);
            }
        }
    }
    
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=204;i++) for(int j=1;j<=204;j++) ma[i][j]='*';
        
        getline(cin,s);//第一行前面还有一个换行符
        
        for(int i=1;i<=n;i++){
            getline(cin,s);
            int l=s.length();
            for(int j=0;j<l;j++){
                ma[i][j+1]=s[j];
            }
            m=max(m,l);
        }
        /*
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                cout<<ma[i][j];
            }
            cout<<"
    ";
        }
        */
        tot=0;
        
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if(!vi[i][j]&&ma[i][j]>='a'&&ma[i][j]<='z')
                    dfs(i,j),++tot;
            }
        }
        
        printf("%d
    ",tot);
        
        return 0;
    }
  • 相关阅读:
    MBProgressHUD 的类扩展方法用法
    ios中webview的高级用法(二)
    ios中webview的高级用法
    ios中UIWebview和asiHttprequest的用法
    ios中UIWebview中加载本地文件
    iOS中判断网络是否联网
    iPhone开发之在UINavigationBar上使用UISegmentedControl制作
    ios真机调试步骤
    uitableview分组的数据2中方式
    ios中开始页面做法
  • 原文地址:https://www.cnblogs.com/song-/p/9677626.html
Copyright © 2011-2022 走看看