-->
当前位置:首页 > 题库

编程题:动态规划

Luz4年前 (2022-09-06)题库290
一只蚱蜢在花圃里。田地里有N·N朵花,排列成N行N列。

对于田野里的每一朵花,我们知道它有多少花瓣。

蚱蜢最初是在R行和C列的花上。它的目标是在遵守这些规则的同时,尽可能多地参观花:

1.它只能跳转到相邻的行或列中。如果跳转到相邻的行中,它必须跳转至少两列,如果跳转到相邻的列中,它必须跳转至少两行。换句话说,它可以从花(r1,c1)跳到花(r2,c2),满足:
•| r1-r2 |=1并且| c1-c2 |>1
或者
•| c1-c2 |=1并且| r1-r2 |>1

2.下一朵花的花瓣数必须严格大于上一朵花的花瓣数。
编写一个程序,计算蚱蜢能参观的最大花朵数量。

### 输入格式:
第一行包含整数$$N(1≤N≤1500)$$,表示这个区域的大小。

第二行包含整数$$R(1≤R≤N)$$和$$C(1≤C≤N)$$,表示蚱蜢的初始位置。

接下来的$$N$$行包含$$N$$个正整数,每个正整数之间用空格隔开,每个正整数小于花上花瓣的数量1000000。

### 输出格式:
输出一个整数——蚱蜢可以访问的最大花朵数。

### 得分:
在50%的测试数据中,N最多为100。
在80%的测试数据中,N最多为1000。


### 输入样例1:
in
4
1 1
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7


### 输出样例1:
out
4


### 输入样例2:
in
5
3 3
20 16 25 17 12
11 13 13 30 17
15 29 10 26 11
27 19 14 24 22
23 21 28 18 13


### 输出样例2:
out
21






答案:若无答案欢迎评论