问题 E: 十四届蓝桥青少STEMA-C++组10月评测-第五题-最长路线

问题 E: 十四届蓝桥青少STEMA-C++组10月评测-第五题-最长路线

时间限制: 1 Sec  内存限制: 128 MB
提交: 5  解决: 1
[提交] [状态] [讨论版] [命题人:]

题目描述

有一个N*M的矩阵,且矩阵中每个方格中都一个整数(0≤整数≤100) ,小蓝需要按照以下要求从矩阵中找出一条最长的移动路线,且输出最长路线的长度(1个方格为1个长度)。

要求:

1.小蓝可以从矩阵中任意一个方格开始向它的上、下、左、右相邻的任意一个方格移动,且移动的路线不能有交叉;

2.小蓝每次所要移动到的方格中的整数都要小于当前所在方格中的整数(如当前所在的方格中的整数为3,那么可以移动到数字为0,1,2的格子里,不可以移动到数字为3,4,5...的格子里);

 

例如:N=3M=3,矩阵方格如下:

最长路线为4 -> 3 -> 2 -> 1,故路线长度为4

输入

第一行输入两个正整数NM1N10001M1000),N表示矩阵的行数,M表示矩阵的列数,两个正整数之间以一个空格隔开

第二行开始输入N行,每行包含M个整数(0≤每个整数≤100),表示每个方格中的整数,每个整数之间以一个空格隔开

输出

输出一个整数,表示最长路线的长度

样例输入 Copy

3 3
1 1 3
2 3 4
1 1 1

样例输出 Copy

4