题号: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]内
输出描述:
输出一行,包含两个整数用空格隔开
示例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
备注:
子任务1:n <= 5
子任务2:n <= 10
子任务3:n <= 20