#11554. 采摘园【蓝桥杯】

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Turing001

题目描述

有一个矩形的采摘园,采摘园里有 N 行 M 列果树,其中有梨树和苹果树,一天小青要去采摘园采摘果子,到了采摘园,看到提示牌写到:

  • 只可以采摘苹果,梨树暂不能采摘(未成熟)。

  • 采摘的起点是采摘园中指定的某一棵苹果树。

  • 从起点开始可以向上、向下、向左、向右移动(只能在采摘园中移动),且只能在苹果树下移动,不能越过梨树。

编写一个程序,计算小青从起点出发最多可到达多少棵苹果树下采摘(包括起点苹果树)。

输入格式

第一行输入两个以空格隔开的正整数 N (2 < N < 51) , M (2 < M < 51) ,分别表示 N 行 M 列的果树。

接下来的 N 行每行输入 M 个数字并以一个空格隔开,数字为 “1” , “2” , “6” ,分别表示苹果树,梨树及起点(起点也是苹果树)。

输出格式

输出一个整数,表示小青在 N \times M 的采摘园中从指定起点出发最多可到达几棵苹果树下采摘(包含起点苹果树)。

样例

【样例 1 输入】

3 4
2 1 2 1
1 6 1 2
1 1 1 2

【样例 1 输出】

7

【样例 1 解释】

矩形的采摘园中有 3 行 4 列的果树,用数字 “1” 表示苹果树,用数字 “2” 表示梨树,用数字 “6” 表示起点(起点也是苹果树),随机指定的苹果树、梨树及起点排列如下图,故从起点出发最多可到达 7 课苹果树下采摘(包含起点苹果树)。

如图所示:

数据范围与提示

十二届蓝桥杯C++国赛试题 F