Codeforces Round 108 (Div. 2)
E
Garden
Codeforces
2500
原题
← D→
翻译中…

Vasya has a very beautiful country garden that can be represented as an $*n* × *m*$ rectangular field divided into $*n*·*m*$ squares. One beautiful day Vasya remembered that he needs to pave roads between $*k*$ important squares that contain buildings. To pave a road, he can cover some squares of his garden with concrete.

翻译中…

For each garden square we know number $*a*_{*i*}_{*j*}$ that represents the number of flowers that grow in the square with coordinates $(*i*, *j*)$. When a square is covered with concrete, all flowers that grow in the square die.

翻译中…

Vasya wants to cover some squares with concrete so that the following conditions were fulfilled:

翻译中…
  • all $*k*$ important squares should necessarily be covered with concrete
  • from each important square there should be a way to any other important square. The way should go be paved with concrete-covered squares considering that neighboring squares are squares that have a common side
  • the total number of dead plants should be minimum
翻译中…

As Vasya has a rather large garden, he asks you to help him.

翻译中…

Input

翻译中…

The first input line contains three integers $*n*$, $*m*$ and $*k*$ ($1 ≤ *n*, *m* ≤ 100$, $*n*·*m* ≤ 200$, $1 ≤ *k* ≤ *min*(*n*·*m*, 7$)) — the garden's sizes and the number of the important squares. Each of the next $*n*$ lines contains $*m*$ numbers $*a*_{*i*}_{*j*}$ ($1 ≤ *a*_{*i*}_{*j*} ≤ 1000$) — the numbers of flowers in the squares. Next $*k*$ lines contain coordinates of important squares written as "$*x*$ $*y*$" (without quotes) ($1 ≤ *x* ≤ *n*$, $1 ≤ *y* ≤ *m*$). The numbers written on one line are separated by spaces. It is guaranteed that all $*k*$ important squares have different coordinates.

翻译中…

Output

翻译中…

In the first line print the single integer — the minimum number of plants that die during the road construction. Then print $*n*$ lines each containing $*m*$ characters — the garden's plan. In this plan use character "X" (uppercase Latin letter X) to represent a concrete-covered square and use character "." (dot) for a square that isn't covered with concrete. If there are multiple solutions, print any of them.

翻译中…

样例

Input #1
3 3 2
1 2 3
1 2 3
1 2 3
1 2
3 3
Output #1
9
.X.
.X.
.XX
InputCopy OutputCopy
Input #2
4 5 4
1 4 5 1 2
2 2 2 2 7
2 4 1 4 5
3 2 1 7 1
1 1
1 5
4 1
4 4
Output #2
26
X..XX
XXXX.
X.X..
X.XX.
InputCopy OutputCopy
题目信息
题号
152E
时间限制
2 s
内存限制
256 MB
标签
位运算
动态规划
图论
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。