#P14596. [COCI 2025/2026 #2] 比赛 / Natjecanje

    ID: 14478 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>一般图的最大匹配COCI(克罗地亚)

[COCI 2025/2026 #2] 比赛 / Natjecanje

题目背景

本题满分 110110

题目描述

在一个 n×mn\times m 的网格上,有 kk 个包裹要配送到 kk 个不同的格子上。包裹起初在中转站处。

有以下四种格子:

  • .:空格子。
  • #:障碍物。
  • S:中转站。
  • X:包裹要被配送到的格子。

已知:同时至多能带两个包裹;每秒可以向四连通(上下左右)的格子移动一格,但是不能移动到障碍物格子上或者越界。

请求出将所有包裹配送并回到中转站的最短时间,或报告无解。

输入格式

第一行,三个正整数 n,m,kn,m,k1n,m5001\le n,m\le 5001k671\le k\le 67)。

接下来 nn 行,第 ii 行一个长度为 mm 的字符串 sis_i,字符集为 {.,#,S,X}\{\texttt{.},\texttt{\#},\texttt{S},\texttt{X}\}si,js_{i,j} 表示第 ii 行第 jj 列的格子的类型。

特别地,保证 X\texttt{X} 出现恰好 kk 次。

输出格式

若无解,输出一行 1-1

否则输出一个正整数,表示答案。

5 5 3
X...X
.....
.....
.....
S...X
24
5 5 4
..X..
#X#..
#...X
.SX#.
.....
16

提示

样例解释

样例一解释:先带着一个包裹配送到右下角,回到中转站;然后带着两个包裹依次配送到左上、右上,最后回到起点。

子任务

  • Subtask 1 (17 pts)\text{Subtask 1 (17 pts)}k2k\le 2
  • Subtask 2 (26 pts)\text{Subtask 2 (26 pts)}k16k\le 16
  • Subtask 3 (29 pts)\text{Subtask 3 (29 pts)}k22k\le 22
  • Subtask 4 (38 pts)\text{Subtask 4 (38 pts)}:无额外限制。