Una sola mancha


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 16M

Authors:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Python, Swift, VB

Los azucareros del centro habiendo oído que la última tendencia de moda vacuna era vacas con dos manchas en sus pieles, han comprado un rebaño en enero de vacas con dos manchas. Desafortunadamente, la tendencia de la moda cambian muy rápidamente, y la moda más popular en estos días son las vacas con una sola mancha.

Los azucareros quieren hacer que sus vacas estén más a la moda pintando cada una de sus vacas de tal manera que sus dos manchas se junten en una sola. La piel de una vaca se representa por una cuadrícula de N por M (1 \leq N,M \leq 50) de caracteres como esta:

................
..XXXX....XXX...
...XXXX....XX...
.XXXX......XXX..
........XXXXX...
.........XXX....

Aquí, cada 'X' denota parte de una mancha. Dos 'X's pertenecen a la misma mancha si se puede ir de una a la otra a través de Xs adyacentes vertical u horizontalmente (la adyacencia en diagonal no se tiene en cuenta). De tal manera que la figura anterior tiene exactamente dos manchas. Todas las vacas en el rebaño tienen exactamente dos manchas.

Ellos quieren usar tan poca pintura como sea posible para juntar las dos manchas en una. En el ejemplo anterior, ellos pueden hacer esto pintando únicamente tres caracteres adicionales con 'X's (los nuevos caracteres están marcados con '*'s a continuación para que sea más fácil de ver).

................
..XXXX....XXX...
...XXXX*...XX...
.XXXX..**..XXX..
........XXXXX...
.........XXX....

Ayude a los azucareros a determinar el mínimo número de nuevas 'X's que él debe pintar con el propósito de juntar las dos manchas en una sola mancha grande.

Entrada

  • Línea 1: Dos enteros separados por espacio, N y M.
  • Líneas 2..1+N: Cada línea contiene una cadena de longitud M de 'X's y '.'s especificando una fila en el diseño de la piel de la vaca.

Ejemplo de Entrada

6 16
................
..XXXX....XXX...
...XXXX....XX...
.XXXX......XXX..
........XXXXX...
.........XXX....

DETALLES DE LA ENTRADA:El diseño en la entrada muestra una piel de vaca con dos manchas distintas denotadas 1 y 2 a continuación:

................
..1111....222...
...1111....22...
.1111......222..
........22222...
.........222....

Salida

El mínimo número de nuevas 'X's que deben ser añadidas al diseño de la entrada con el propósito de obtener una sola mancha.

Ejemplo de Salida

3

DETALLES DE LA SALIDA: Son suficientes tres 'X's para unir las dos manchas en una:

................
..1111....222...
...1111X...22...
.1111..XX..222..
........22222...
.........222....

Comments

There are no comments at the moment.