Guerra de plataformes

Probablement coneixeu el joc “guerra de barcos”. Aquí, haureu de jugar una partida d’un joc similar, on un dels jugadors té diverses plataformes petrolieres en una tauler f×cf \times c, i l’oponent vol enfonsar-les totes amb el mínim nombre de tirades. Definim una plataforma com un component connex, suposant que les unions són horitzontals i verticals, però no diagonals. (Al primer exemple d’entrada hi ha 5 plataformes.)

Entrada

L’entrada consisteix en ff i cc, seguides de ff files amb cc caràcters cadascuna. Una ‘X’ indica una posició ocupada, i un punt una posició lliure. Segueixen diversos parells xx yy indicant cada tirada (fila i columna). Suposeu que ff i cc estan entre 1 i 500, 1xf1 \le x \le f, i 1yc1 \le y \le c.

Sortida

Per a cada tirada, escriviu en anglès si és aigua o és tocat i, en aquest cas, si és enfonsat. El programa ha d’acabar quan s’enfonsen totes les plataformes, quan es repeteix alguna jugada, o si no queden més tirades, amb el missatge corresponent.

Pista

La solució esperada té cost total Θ(f×c)\Theta(f \times c).

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T10:15:44.728Z

© Jutge.org, 2006–2026.
https://jutge.org