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 , 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.)
L’entrada consisteix en
i
,
seguides de
files amb
caràcters cadascuna. Una ‘X’ indica una posició ocupada, i
un punt una posició lliure. Segueixen diversos parells
indicant cada tirada (fila i columna). Suposeu que
i
estan entre 1 i 500,
,
i
.
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.
La solució esperada té cost total .
Input
5 10 XXXXX.XXXX X...X...XX X.X.X.X..X X...X..X.. XXXXX..X.. 1 1 5 9 5 8 3 3 1 2 4 8 1 2 1 6
Output
1 1: hit 5 9: miss 5 8: hit 3 3: hit and sunk 1 2: hit 4 8: hit and sunk 1 2: REPEATED
Input
2 6 .....X XX.... 2 1 1 6 1 2 2 2 1 1 1 2
Output
2 1: hit 1 6: hit and sunk 1 2: miss 2 2: hit and sunk VICTORY
Input
1 8 .XXXX... 1 6
Output
1 6: miss UNFINISHED