Die Herausforderung
Bei einer 2D-Zeichenfolge, die den Boden eines Bootes als Eingabe darstellt, müssen Sie bestimmen, ob das Boot schwimmt oder nicht. Diese 2D-Zeichenfolge kann in einem beliebigen Format vorliegen. (Zeichenfolge mit Zeilenumbrüchen, Liste der Zeichenfolgen, Liste der Zeichen usw.) Drucken Sie einen Wahrheitswert, wenn er schwebt, und einen Falschwert, wenn er sinkt.
Ein Boot kippt um, wenn der Boden eine inkonsistente Dichte hat, daher muss jedes Zeichen von gleich sein. Wenn ein Boot große Löcher hat, die durch Leerzeichen dargestellt werden, sinkt es, sodass Ihr Boot keine Löcher mit einer Fläche von mehr als 4 haben darf. Hier ein Beispiel:
########
# ####
########
# ## ##
# #####
########
Dieses Boot ist gültig, weil das größte Loch in ihm eine Fläche von 4 hat. Dieses Boot:
########
########
# ##
# #####
########
ist ungültig, da es ein Loch mit einer Fläche von 7 hat. Sie können davon ausgehen, dass die Außenseite jedes Eingangs ein durchgehendes Rechteck ohne Löcher ist. Hier sind einige weitere Tests:
$$$$$$$$
***$$$$$
***$$$$$
***$$$$$
$$$$$$$$
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.
Regeln
- IO kann in jedem vernünftigen Format vorliegen.
- Es gelten Standardlücken.
- Die kürzeste Antwort in Bytes gewinnt.
- Die angegebene Zeichenfolge besteht vollständig aus druckbarem ASCII.
quelle
&
Boot existiertAntworten:
Matlab, 106 Bytes
Die Eingabe ist eine Matrix von Zeichen, z. B. für den ersten Testfall:
Erläuterung:
quelle