⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1088.cpp

📁 非常好的C++学习源码,里面包括各种算法的实现,二叉的的前中后序遍历等
💻 CPP
字号:
#include<iostream>
#include<memory.h>
using namespace std;
int a[102][102],b[102][102];

int f(int x,int y)
{	
	int max=0;
	if (a[x][y+1]>a[x][y])
	{
		if (b[x][y+1]==-1)
			b[x][y+1]=f(x,y+1);
		if (max<b[x][y+1])
			max=b[x][y+1];
	}
	if (a[x][y-1]>a[x][y])
	{
		if (b[x][y-1]==-1)
			b[x][y-1]=f(x,y-1);
		if (max<b[x][y-1])
			max=b[x][y-1];
	}
	if (a[x+1][y]>a[x][y])
	{
		if (b[x+1][y]==-1)
			b[x+1][y]=f(x+1,y);
		if (max<b[x+1][y])
			max=b[x+1][y];
	}
	if (a[x-1][y]>a[x][y])
	{
		if (b[x-1][y]==-1)
			b[x-1][y]=f(x-1,y);
		if (max<b[x-1][y])
			max=b[x-1][y];
	}
	return 1+max;
}

int main()
{
	int r,c,i,j,p=0;
	memset(a,0,sizeof(a));
	cin>>r>>c;
	for (i=1;i<=r;i++)
		for (j=1;j<=c;j++)
			cin>>a[i][j];
	memset(b,-1,sizeof(b));
	for (i=1;i<=r;i++)
		for (j=1;j<=c;j++)
		{
			if (b[i][j]==-1)
				b[i][j]=f(i,j);
			else
				continue;
		}
	for (i=1;i<=r;i++)
		for (j=1;j<=c;j++)
			if (p<=b[i][j])
				p=b[i][j];
	cout<<p<<endl;
	return 0;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -