牛牛家的房子
题号:NC21607
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

城市有n排n列的房子。牛牛在每个格点(x,y)[0≤ x,y ≤ n]建了一所房子,冬天来了,(x, y)的室内温度为t[x*n + y]度。从(x1, y1)处的房子移动到(x2, y2)处的房子需要|x1 - x2| + |y1 - y2|分钟。此外,外面很冷,一个人最多只能在外面呆上r分钟。最初每个房子里只住一个人。然后每个人重复下面的过程:他们在一次旅行中找到他们能到达的最温暖的房子,然后搬到那里。人们重复这个动作,直到在离开他们当前的房子的r分钟内没有更温暖的房子。算出两个值:

- a = 当每个人都停止移动时,容纳至少一个人的房屋数量
- b = 同一所房子的最大人数

输入描述:

第一行输入两个整数n,r (1 ≤ n ≤ 20, 1 ≤ r ≤ 40 )
接下来n行每行输入n个整数 表示每个房子的温度,范围在[1,1000]内

输出描述:

输出一行,包含两个整数用空格隔开
示例1

输入

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

输出

复制
4 4
示例2

输入

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

输出

复制
2 6
示例3

输入

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

输出

复制
1 9
示例4

输入

复制
7 3
59 22  2 17 77 43 67 
16 49 51 46 61  4  9 
42 12 80 82 24 29  1 
27 63 65 26 10 28 83 
 7 73  8 47 37 23 38 
75 54 71 58 78 21 45 
35 81 48 41 44 52 32

输出

复制
5 20

备注:

子任务1:n <= 5
子任务2:n <= 10
子任务3:n <= 20