zoukankan      html  css  js  c++  java
  • 中南林业科技大学第十一届程序设计大赛 D 最大的湖

    链接:https://ac.nowcoder.com/acm/contest/910/D
    来源:牛客网

    农场主约翰的农场在最近的一场风暴中被洪水淹没,这一事实只因他的奶牛极度害怕水的消息而恶化。

    然而,他的保险公司只会根据他农场最大的“湖”的大小来偿还他一笔钱。


    农场表示为一个矩形网格,有N(1≤N≤100)行和M(1≤M≤100)列。网格中的每个格子要么是干的,

    要么是被淹没的,而恰好有K(1≤K≤N×M)个格子是被淹没的。正如人们所期望的,一个“湖”有一个

    中心格子,其他格子通过共享一条边(只有四个方向,对角线不算的意思)与之相连。任何与中央格子共享一条边或与中央格

    子相连的格子共享一条边的格子都将成为湖的一部分。
    链接:https://ac.nowcoder.com/acm/contest/910/D
    来源:牛客网

    输入描述:

    第一行有三个整数N,M,K,分别表示这个矩形网格有N行,M列,K个被淹没的格子。

    接下来K行,每一行有两个整数R,C。表示被淹没的格子在第R行,第C列。

    输出描述:

    输出最大的“湖”所包含的格子数目
    示例1

    输入

    3 4 5
    3 2
    2 2
    3 1
    2 3
    1 1
    

    输出

    4
    qwq这个题就很简单啦计算每一片湖区的大小,然后区最大就行
    #include<stdio.h>
    #include<iostream>
    #include<stdlib.h>
    #include<algorithm>
    using namespace std;
    const int maxn = 1e2 + 2;
    bool vis[maxn][maxn];//矩阵存放该格子是否被淹,true是淹了
    int sum = 0;
    int ans = 0;
    void dfs(int x, int y)//以vis[x][y]为中心找该片淹没区的大小
    {
        if (vis[x][y])//找没被标记过的格子
        {
            vis[x][y] = false;//将就算过的地方标记一下
            sum++;
            dfs(x + 1, y);
            dfs(x - 1, y);
            dfs(x, y + 1);
            dfs(x, y - 1);
        }
        return;
    }
    int main()
    {
        int n, k, m;
        cin >> n >> m >> k;
        //初始化矩阵
        for (int i = 1; i <= n; i++)
            for (int j = 1; j < m; j++)
                vis[i][j] = false;
        while (k--)
        {
            int x, y;
            cin >> x >> y;
            vis[x][y] = true;
        }
        for (int i = 1; i <= n; i++)
            for (int j = 1; j < m; j++)
            {
                sum = 0;
                //DFS每个点其实还可以优化一点点的,不过图小没得事
                dfs(i, j);
                ans = max(sum, ans);//取最大面积
            }
       
        cout << ans << endl;
        system("Pause");
        return 0;
    }
     
  • 相关阅读:
    1010 幂次方
    1316 丢瓶盖
    1182 数列分段2
    Mysql动态SQL语句标签
    知了CMS开发说明文档(ibeetl) 建站系统文档
    BeanUtils.populate()的用法
    如何将网页的title前面的图标替换成自己公司的图标
    HTTP、HTTPS常用的默认端口号
    项目的xml文件中经常使用的sql语句
    Invalid bound statement(not found): com.xxx.xxx.xxx.xxxMapper.save
  • 原文地址:https://www.cnblogs.com/tp25959/p/10938026.html
Copyright © 2011-2022 走看看