#T1110. [2021第十二届蓝桥杯青少年组国赛] 采摘游戏

[2021第十二届蓝桥杯青少年组国赛] 采摘游戏

题目背景

第十二届蓝桥杯青少年组国赛2021年5月C++组第6题

题目描述

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

  1. 只可以采摘苹果,梨树暂不能采摘(未成熟);
  2. 采摘的起点是从采摘园中指定的某一棵苹果树;
  3. 从起点开始可以向上、向下、向左、向右移动(只能在采摘园中移动),且只能在苹果树下移动,不能越过梨树。

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

例如:矩形的采摘园种有 3 排 4 列的果树,用数字 "1" 表示苹果树,用数字 "2" 表示梨树,用数字 "6" 表示起点(起点也是苹果树),故从起点出发最多可到达 7 棵苹果下采摘(包含起点苹果树)。

如图所示:

输入格式

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

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

输出格式

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

样例 #1

样例输入 #1

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

样例输出 #1

7