#P1588. 2022.10.12.-秋招-第三题-快递员
-
ID: 12
Type: Default
1000ms
256MiB
Tried: 42
Accepted: 5
Difficulty: 7
Uploaded By:
TaZi
Tags>DFS
2022.10.12.-秋招-第三题-快递员
题目内容
塔子哥是一名快递员,他每天都要在城市里送很多快递。他负责的一个小区是一个很特别的地方,这个小区原本是一个军事基地,后来被改造成了住宅区。因为基地的设计很复杂,所以小区的布局也很奇怪,大体上可以看成一个 m×n 个方格组成的矩阵。有些地方还保留了原来的防御设施。这些设施对于普通人来说是不可进入的,所以塔子哥不能穿过它们。(0
代表空地, B
代表楼栋, #
代表防御设施)
小区的住户大多数是退伍军人或者军人家属,他们都有一种特殊的习惯:他们不喜欢下楼取快递,而是要求塔子哥把快递送到他们附近的某个地方,然后他们再去取。这是因为他们觉得下楼太麻烦,而且有些人还有战争创伤,不愿意和外界接触。塔子哥虽然觉得这样很不合理,但是他也不敢得罪这些住户,只能尽量满足他们的要求。
塔子哥每天都会从小区的一个入口开始送快递,这个入口的位置是 [row,col] 。他可以在空地和楼栋之间自由移动,但是不能穿过防御设施。他的投递方式是这样的:他会在小区里选最多 k 个派件点,然后通知周边楼栋的住户前来取件。派件点必须是空地或者楼栋,并且塔子哥可以到达。通知范围是和派件点距离不超过 s 的同一行或者同一列,并且没有被防御设施挡住的楼栋。
塔子哥希望能够选择合适的派件点,使得他可以给最多楼栋派发快递,并且节省时间和精力。你能帮助塔子哥吗?
输入描述
第一行:两个整数 m 和 n (0<m,n≤9),代表小区的大小
第二行:两个整数 row 和 col (0≤row<m,0≤col<n),代表快递员的初始位置
第三行:派件点数目 k (0<k≤5)
第四行:派件点可派件的最大距离 s (0<s≤30)
接下来是 m 行 n 列的矩阵,每一行的元素以空格分隔,内容为(0
,B
,#
)
用例保证所有的输入在正常范围内。
输出描述
返回最多可派件的楼栋数量。
样例
输入
4 4
0 1
2
1
#0B#
0BB#
0#0#
B#B0
输出
4
通知
扫码备注华为交流群~期待您的到来
- 湘ICP备2023007293号
- Worker 0, 42ms
- Powered by Hydro v4.14.1 Community