深搜7:【SSL】1329.最大平台
题目:
题目描述:
下面是一个4x4的矩阵,它的特点是:
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
思路:
这道题我一开始以为它很简单,就是直接dfs找和当前这个数相连且相同的数(类似于泡泡龙),但我做完之后发现有个问题,我第一次交才20分。
先看一下这个错误的代码:
void dfs(int x,int y,int sz,int bs)//bs用来存当前找到的平台大小
{
v[x][y]=true;
bs++;
if(bs>h1)
{
h1=bs;
h2=sz;
}
for(int i=0;i<4;i++)
{
int x2=x+fx

这篇博客讨论了如何使用深度优先搜索(DFS)解决最大平台问题,其中平台是指数值相等且相邻的元素形成的区域。通过分析错误的DFS实现,博主指出了在计算平台大小时需要注意全局变量的使用,以确保正确记录不同分支的平台面积。提供了问题的输入输出样例,并给出了修正后的DFS代码思路。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



