Uno degli aspetti interessanti della gravità è che, per quanto ne so, non si può semplicemente fare galleggiare a mezz'aria.
Tuttavia, sembra che non tutti in Association of Random Castle Builders siano a conoscenza di questo fatto, portando a castelli come questo:
#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
###### ###### ###
##### ##### ###
###
``````````````````````````````
e questo:
# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ####
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # #### # # ####
####################################################################################
###### ######## ######## ######## ######## ######## ######## ######## ######
################################### ###### ###################################
################################### ###### ###################################
##
##
##
##
##
````````````````````````````````````````````````````````````````````````````````````````````
e anche questo:
##########
#### # ###
#######################
#
#
#
#
# # # #
# # ###
# # ###
# # # # ##
# # ## ###
# # #####
# #####
# # #####
#####
## ##
#####
#####
## ##
## ##
````````````````````````````````````````````
Sfida
Per un castello valido, tutti i blocchi saranno collegati al suolo direttamente o indirettamente. Al tuo programma o funzione verrà assegnato un castello come quelli sopra come input e il tuo programma deve restituire un valore di verità o falsità che rifletta se il castello è valido o meno.
Regole
- L'input è dato come una stringa.
- Tutti i castelli valide trovino su una superficie,
````````
. (Se la stringa di input non contiene una superficie, il castello non è valido.) - Puoi presumere che tutti gli input soddisfino questi criteri:
- La superficie sarà sempre piatta.
- La superficie sarà sempre larga almeno quanto il castello, quindi non ci saranno blocchi a sinistra o a destra del terreno.
- L'ingresso non avrà mai
#
sotto la superficie. - L'input conterrà solo personaggi indicati in questa sfida. (
#
,`
, Spazio o di nuova riga.) - Si può presumere che l'input conterrà sempre almeno un carattere.
- I blocchi sono collegati se sono adiacenti orizzontalmente o verticalmente. La diagonale non conta!
- Collegato:
# or ##
# - Non connesso:
# or # # or #
#
#
- Collegato:
- I castelli devono esistere per essere validi. (In altre parole, gli input senza nessuno
#
devono dare un valore falso.) - L'input conterrà solo personaggi indicati in questa sfida. (
#
,`
, Spazio o di nuova riga.) - Si può presumere che l'input conterrà sempre almeno un carattere.
- Si applicano le regole I / O standard e scappatoia .
Casi test
Falsy
- Tutti gli esempi sopra riportati.
# # # #
(Nessun terreno.)
#### ####
#### # # ####
##############
###### ######
## ### ######
(Il blocco più in alto non è collegato né in orizzontale né in verticale.)
### ####
#### # # ####
##############
###### ######
##### # ####
`` `` `` `` `` `` `` `
`` `
(La torre centrale non è collegata al resto del castello perché non ci sono blocchi adiacenti orizzontalmente o verticalmente che la collegano.)
# # # # # #
##############
##### ## #####
# # # # # # # # #### # # #### # # # # # # # #
#### #### #### #### ## #### ## #### #### #### ####
## ## # # #### # # #### # # #### # # #### # # #### # # #### # # #### # # ####
################################################## ##################################
###### ######## ## ###### ######## ######## ######## ######## ####### ######## #### ##
################################### ###### ###### ####### ############################
################################### ###### ########## ##########################
`` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``
(Nessun castello, solo un singolo personaggio newline.)# #
(Il blocco più a destra non è collegato né in orizzontale né in verticale.)
#
`` `` `` `
`` `
Truthy
#
`# # # #
#### ####
#### # # ####
##############
###### ######
## ### #####
`` `` `` `` `` `` `` `#
#
# # # # ###
#### #### # #
#### # # #### ###
##################### ###
# ##### ###### ###
##### ##### ###
##### ##### ###
`` `` `` `` `` ` `` `` `` `` `` `` `` `` `` ``# # # # #
##############
### #### ###
# # # # # # # ### #### ### # # # # # # #
#### #### #### #### ############## #### #### #### ## ##
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # ## ## # # ####
################################################## ##########################################
####### ###### ## ###### ######## ######## ######## ######## ####### ######## #### #### ######
########################################## ###### ##### # ##########################################
################################### ###### ########## ##########################
`` `` `` `` `` `` `` `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``#### ###
# #### ###
# ###
# ##
#
###
#####
####### #######
#########
### ## #####
##### #####
###### ######
########################
# ### ########## #
#############
#############
####################
###### ######
###### ######
#############
#############
#############
#############
####### ###### ##### #
###### ######
#############
#############
############ ##
#############
###### ######
###### ######
############ ##
#############
#############
#############
########## ####
##### #####
##### #####
##### #####
`` `` `` `` `` `` `` `` `` `` `` `
####
#####
######
####
####
#####
########
##########
#### ######
###########
############
##############
##### ## ##############
########### #################
##################################################
####### #################################
######################### ####################
###################################### ####
############################
########################## #
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `
In bocca al lupo!