Jednym z interesujących aspektów grawitacji jest to, że o ile mi wiadomo, nie można po prostu unosić rzeczy w powietrzu.
Wydaje się jednak, że nie wszyscy w Association of Random Castle Builders są tego świadomi, co prowadzi do takich zamków jak ten:
#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
###### ###### ###
##### ##### ###
###
``````````````````````````````
i ten:
# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ####
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # #### # # ####
####################################################################################
###### ######## ######## ######## ######## ######## ######## ######## ######
################################### ###### ###################################
################################### ###### ###################################
##
##
##
##
##
````````````````````````````````````````````````````````````````````````````````````````````
a nawet ten:
##########
#### # ###
#######################
#
#
#
#
# # # #
# # ###
# # ###
# # # # ##
# # ## ###
# # #####
# #####
# # #####
#####
## ##
#####
#####
## ##
## ##
````````````````````````````````````````````
Wyzwanie
W przypadku ważnego zamku wszystkie bloki zostaną połączone z ziemią bezpośrednio lub pośrednio. Twój program lub funkcja otrzyma zamek taki jak te powyżej jako dane wejściowe, a twój program musi zwrócić wartość prawdy lub fałszu odzwierciedlającą, czy zamek jest ważny, czy nie.
Zasady
- Dane wejściowe są podawane jako ciąg.
- Wszystkie ważne zamki spoczywać na powierzchni
````````
. (Jeśli łańcuch wejściowy nie zawiera powierzchni, zamek jest nieprawidłowy.) - Możesz założyć, że wszystkie dane wejściowe spełnią następujące kryteria:
- Powierzchnia zawsze będzie płaska.
- Powierzchnia zawsze będzie co najmniej tak szeroka jak zamek, więc po lewej lub prawej stronie ziemi nie będzie żadnych bloków.
- Wejście nigdy nie będzie
#
pod powierzchnią. - Dane wejściowe będą zawierać tylko znaki podane w tym wyzwaniu. (
#
,`
spacja lub nowa linia). - Możesz założyć, że dane wejściowe zawsze będą zawierać co najmniej jeden znak.
- Bloki są połączone, jeśli sąsiadują poziomo lub pionowo. Przekątna się nie liczy!
- Połączony:
# or ##
# - Nie połączony:
# or # # or #
#
#
- Połączony:
- Zamki muszą istnieć, aby były ważne. (Innymi słowy, dane wejściowe bez żadnej
#
muszą dawać wartość fałszowania.) - Dane wejściowe będą zawierać tylko znaki podane w tym wyzwaniu. (
#
,`
spacja lub nowa linia). - Możesz założyć, że dane wejściowe zawsze będą zawierać co najmniej jeden znak.
- Obowiązują standardowe zasady we / wy i luki .
Przypadki testowe
Falsy
- Wszystkie przykłady podane powyżej.
# # # #
(Bez ziemi.)
#### ####
#### # ####
##############
###### ###### ######
## ### ######
(Górny blok nie jest połączony ani poziomo, ani pionowo).
### ####
#### # # ####
##############
###### ###### ######
##### # ####
`` `` `` `` `` `` `
``
(Centralna wieża nie jest połączona z resztą zamku, ponieważ nie ma łączących go bloków poziomo lub pionowo).
# # # # # #
##############
##### ## #####
# # # # # # # ##### # #### # # # # # # # #
#### #### #### #### ## #### ## #### #### #### ####
## ## # # #### # #### # # #### # # #### # #### # # #### # # #### # ####
######################################################################## ########################################
###### ######## ## ###### ######## ######## ######## ######## ######## #### ##
########################################## ###### ###### ####### ############################
################################################ ######### ##########################
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `
(Bez zamku, tylko jeden znak nowej linii.)# #
(Blok najbardziej po prawej stronie nie jest podłączony poziomo ani pionowo).
#
`` `` ``
``
Prawda
#
`# # # #
#### ####
#### # ####
##############
###### ###### ######
## ### #####
`` `` `` `` `` ``#
#
# # # # ###
#### #### #
#### # #######
############## ###
# ##### ###### ###
##### ##### ###
##### ##### ###
`` `` `` ` `` `` `` `` `` `` `` `` ``# # # # # #
##############
### #### ###
# # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ## ##
#### # # #### # # #### # # #### ## ######## ## #### # # #### # ### ## # # ####
################################################################ ########################################################
###### ## ###### ######## ######## ######## ######## ######## #### #### ######
############################################################## # ###################################
################################################ ######### ##########################
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``#### ###
# #### ###
# ###
# ##
#
###
#####
####### #######
#########
### ## #####
##### #####
###### ######
###################
### ########## #
#############
#############
############# #############
###### ######
###### ######
#############
#############
#############
#############
###### ###### ##### #
###### ######
#############
#############
########### ##
#############
###### ######
###### ######
########### ##
#############
#############
#############
######### ####
##### #####
##### #####
##### #####
`` `` `` `` `` `` ` `` ``
####
#####
######
####
####
#####
########
##########
#### ######
###########
############
#####################
##### ## ##############
########### #################
###########################################
####### #################################
############################### ####################
#################################################### ####
############################
######################### #
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `
Powodzenia!