La sfida
Data una stringa 2d che rappresenta il fondo di una barca come input, è necessario determinare se la barca galleggerà o meno. Questa stringa 2D può essere in qualsiasi formato più conveniente. (Stringa con newline, elenco di stringhe, elenco di elenchi di caratteri, ecc.) Stampa un valore di verità se galleggia e un valore di falsa se affonderà.
Una barca si ribalterà se il fondo ha una densità incoerente, quindi ogni personaggio di deve essere lo stesso. Inoltre, se una barca ha grandi buchi, rappresentati da spazi, affonderà, quindi la tua barca non deve avere buchi con un'area maggiore di 4. Ecco un esempio:
########
# ####
########
# ## ##
# #####
########
Questa barca è valida perché la buca più grande ha una superficie di 4. Questa barca:
########
########
# ##
# #####
########
non è valido perché ha un foro con un'area di 7. Puoi tranquillamente supporre che l'esterno di ogni input sia un rettangolo solido senza buchi. Ecco alcuni altri test:
$$$$$$$$
***$$$$$
***$$$$$
***$$$$$
$$$$$$$$
Invalid density. Sink.
%%%%%%%%
% % %
%%%%% %
% % %
%%%%%%%%
None of the holes are larger than 4. Float.
OOOOOOOO
OOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
The outside border is not solid. Undefined.
&&&&&&&&&&&&&
& & & & & & &
&& & & & & &&
& & & & & & &
&& & & & & &&
& & & & & & &
&&&&&&&&&&&&&
Although I would not be comfortable riding in this boat myself,
none of the holes are larger than 4. It floats.
@@@@@
@ @
@ @
@ @
@@@@@
It sinks.
Regole
- IO può essere in qualsiasi formato ragionevole.
- Si applicano scappatoie standard.
- Vince la risposta più breve in byte.
- La stringa data sarà interamente costituita da ASCII stampabile.
&
barca esista