走进“深度搜索基础训练“,踏入c++算法殿堂(四)

简介: 走进“深度搜索基础训练“,踏入c++算法殿堂(四)

第四道题显现在屏幕中:

【搜索与回溯算法】最大平台 (Standard IO)
时间限制: 1000 ms 空间限制: 262144 KB

题目描述:

下面是一个4×4的矩阵,它的特点是:(1)矩阵的元素都是正整数;(2)数值相等的元素相邻。这样,这个矩阵就形成了一级级“平台”,其最大的“平台”面积为8,高度(元素值)为6。若有一个 N×N的矩阵也具有上面矩阵的特点,求矩阵最大“平台”的面积和高度。
6 6 6 7
1 6 3 7
1 6 6 7
6 6 7 7

输入:

第一行为N(1≤N≤100),以下为N×N的矩阵。

输出:

第一行为平台的最大面积;
第二行为元素值。

样例输入:

4
6 6 6 7
1 6 3 7
1 6 6 7
6 6 7 7
样例输出:

8
6
“应该还是搜索,条件就是处于现平台的上下左右,且数字相等……”小航说。

#include<iostream>
using namespace std;
int n,plat[105][105],check[150],ans,maxx=-1,num,lnum;
void dg(int x,int y)
{
    ++ans;
    plat[x][y]=0;
    if(plat[x+1][y]==lnum) dg(x+1,y);
    if(plat[x-1][y]==lnum) dg(x-1,y);
    if(plat[x][y+1]==lnum) dg(x,y+1);
    if(plat[x][y-1]==lnum) dg(x,y-1);
}
int main()
{
    check[0]=1;
    cin>>n;
    for(int i=1;i<=n;++i)
    {
        for(register int j=1;j<=n;++j)
        {
            cin>>plat[i][j];
        }
    }
    for(int i=1;i<=n;++i)
    {
        for(int j=1;j<=n;++j)
        {
            if(check[plat[i][j]]==0)
            {
                lnum=plat[i][j];
                ans=0;
                dg(i,j);
                if(ans>maxx)
                {
                    maxx=ans;
                    num=lnum;
                }
                check[plat[i][j]]=1;
            }
        }
    }
    cout<<maxx<<endl<<num;
}

代码很快出来了,100分也飞快地跟了出来,第五道题一刹那间蹦了出来……

相关文章
|
19天前
|
算法 搜索推荐 数据库
二分搜索:高效的查找算法
【10月更文挑战第29天】通过对二分搜索的深入研究和应用,我们可以不断挖掘其潜力,为各种复杂问题提供高效的解决方案。相信在未来的科技发展中,二分搜索将继续发挥着重要的作用,为我们的生活和工作带来更多的便利和创新。
30 1
|
1月前
|
存储 机器学习/深度学习 算法
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
蓝桥杯Python编程练习题的集合,涵盖了从基础到提高的多个算法题目及其解答。
63 3
蓝桥杯练习题(三):Python组之算法训练提高综合五十题
|
23天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
1月前
|
机器学习/深度学习 算法 决策智能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
【机器学习】揭秘深度学习优化算法:加速训练与提升性能
|
1月前
|
算法 决策智能
基于禁忌搜索算法的VRP问题求解matlab仿真,带GUI界面,可设置参数
该程序基于禁忌搜索算法求解车辆路径问题(VRP),使用MATLAB2022a版本实现,并带有GUI界面。用户可通过界面设置参数并查看结果。禁忌搜索算法通过迭代改进当前解,并利用记忆机制避免陷入局部最优。程序包含初始化、定义邻域结构、设置禁忌列表等步骤,最终输出最优路径和相关数据图表。
|
1月前
|
存储 算法 C++
高精度算法(加、减、乘、除,使用c++实现)
高精度算法(加、减、乘、除,使用c++实现)
480 0
高精度算法(加、减、乘、除,使用c++实现)
|
1月前
|
算法 数据处理 C++
c++ STL划分算法;partition()、partition_copy()、stable_partition()、partition_point()详解
这些算法是C++ STL中处理和组织数据的强大工具,能够高效地实现复杂的数据处理逻辑。理解它们的差异和应用场景,将有助于编写更加高效和清晰的C++代码。
25 0
|
1月前
|
存储 算法 决策智能
【算法】博弈论(C/C++)
【算法】博弈论(C/C++)
|
1月前
|
存储 算法 C++
【算法】哈希映射(C/C++)
【算法】哈希映射(C/C++)
|
1月前
|
机器学习/深度学习 人工智能 算法
【算法】最长公共子序列(C/C++)
【算法】最长公共子序列(C/C++)
下一篇
无影云桌面