Wyzwanie
Biorąc pod uwagę ciąg 2d reprezentujący dno łodzi jako dane wejściowe, musisz ustalić, czy łódź będzie unosić się na wodzie. Ten ciąg 2D może być w dowolnym dogodnym formacie. (Ciąg znaków z nowymi liniami, lista ciągów, lista znaków, itp.) Wydrukuj wartość prawdy, jeśli będzie zmienna, i wartość falsey, jeśli opadnie.
Łódź przewróci się, jeśli dno ma niespójną gęstość, więc każda postać musi być taka sama. Ponadto, jeśli łódź ma duże dziury, reprezentowane przez spacje, tonie, więc twoja łódź nie może mieć otworów o powierzchni większej niż 4. Oto przykład:
########
# ####
########
# ## ##
# #####
########
Ta łódź jest ważna, ponieważ największa dziura w niej ma powierzchnię 4. Ta łódź:
########
########
# ##
# #####
########
jest nieprawidłowy, ponieważ ma otwór o powierzchni 7. Możesz bezpiecznie założyć, że na zewnątrz każdego wejścia będzie bryła prostokąta bez otworów. Oto kilka innych testów:
$$$$$$$$
***$$$$$
***$$$$$
***$$$$$
$$$$$$$$
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.
Zasady
- IO może mieć dowolny rozsądny format.
- Obowiązują standardowe luki.
- Najkrótsza odpowiedź w bajtach wygrywa.
- Podany ciąg będzie w całości składał się z drukowalnego ASCII.
źródło
&
łódź istniejeOdpowiedzi:
Matlab, 106 bajtów
Dane wejściowe to macierz znaków, np. Dla pierwszego przypadku testowego:
Wyjaśnienie:
źródło