「EVOI-RD1」飞鸟和蝉

题目背景

你骄傲地飞远,我栖息的叶片。 听不见的宣言,重复过很多年。 沧海月的想念羽化我昨天, 在我成熟的笑脸, 你却未看过一眼。

题目描述

蝉 Charlie 要去寻找他的好朋友飞鸟了。 具体来说,Charlie 和他的好朋友生活的地方可以看作一个 $n \times m$ 的网格,左上角为 $(1,1)$,右下角为 $(n,m)$。每个格子 $(i,j)$ 有一个海拔高度 $h_{i,j}$。Charlie 的目标是从他的家 $(x_0,y_0)$ 出发,不重不漏地经过网格中的每个格子**恰好一次**,**最终回到自己的家** $(x_0,y_0)$。Charlie 有两种移动方式: 1. 跳跃。用这种方式,Charlie 可以到达上下左右 $4$ 个相邻格子中**海拔严格低于当前格子**的一个格子。注意跳跃不消耗体力。 2. 飞行。用这种方式,Charlie 可以从当前格子 $(x,y)$ 到达网格中**任意一个**格子 $(x',y')$,并消耗 $h_{x',y'}-h_{x,y}$ 个单位的体力。**注意飞行所消耗的体力值可以是负数**。 Charlie 希望用尽量少的飞行次数完成目标,**在此前提下**再令消耗的体力最少。由于网格实在太大了,Charlie 希望你能帮助他。

输入输出格式

输入格式


第一行四个整数,分别代表 $n,m,x_0,y_0$,含义如上所述。 接下来 $n$ 行,每行 $m$ 个整数,第 $i$ 行第 $j$ 个数代表格子 $(i,j)$ 的海拔 $h_{i,j}$。

输出格式


一行两个整数,分别代表“飞行的最少次数”与“飞行次数最少的前提下消耗的最少体力值”。

输入输出样例

输入样例 #1

3 3 1 1
1 2 3
8 9 4
7 6 5

输出样例 #1

1 8

输入样例 #2

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

输出样例 #2

5 4

输入样例 #3

4 4 2 3
5 9 6 2
4 2 3 6
7 2 5 2
4 2 3 9

输出样例 #3

7 25

输入样例 #4

10 10 3 3
9 13 7 7 3 8 6 5 12 8
1 4 10 11 9 10 13 6 2 18
3 3 19 6 14 2 19 10 2 16
3 1 11 14 14 18 8 8 16 14
13 5 7 4 11 17 3 16 10 20
10 16 12 19 14 12 11 20 15 10
10 15 5 1 16 2 7 5 14 5
3 19 12 19 8 13 17 7 10 13
2 10 17 6 8 11 8 7 1 4
3 7 8 1 3 5 4 11 9 17

输出样例 #4

36 254

说明

**本题采用捆绑测试** 样例 1 解释:从 $(1,1)$ 飞到 $(2,2)$,再绕一圈即可。 样例 2 解释:一种最佳方案为:$(2,3)-(1,3)-(1,2)-(1,1)=(2,1)-(3,1)=(2,2)=(3,2)=(3,3)=(2,3)$,其中 $=$ 代表飞行。 - Subtask 1 (10 pts):满足 $1 \leq n,m \leq 3$。 - Subtask 2 (20 pts):满足 $1 \leq n,m \leq 5$。 - Subtask 3 (20 pts):保证至多有两种不同的海拔高度。 - Subtask 4 (50 pts):无特殊限制。 对于 $100\%$ 的数据: - $1 \leq n,m \leq 50$。 - $1 \leq x_0 \leq n,1 \leq y_0 \leq m,1 \leq h_{i,j} \leq 10^9$。 出题人:[冷月葬T魂](https://www.luogu.com.cn/user/340903)