Uno de los aspectos interesantes de la gravedad es que, hasta donde yo sé, no puedes tener cosas flotando en el aire.
Sin embargo, parece que no todos en la Asociación de Constructores de Castillo Aleatorio son conscientes de este hecho, lo que lleva a castillos como este:
#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
###### ###### ###
##### ##### ###
###
``````````````````````````````
y éste:
# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ####
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # #### # # ####
####################################################################################
###### ######## ######## ######## ######## ######## ######## ######## ######
################################### ###### ###################################
################################### ###### ###################################
##
##
##
##
##
````````````````````````````````````````````````````````````````````````````````````````````
e incluso este:
##########
#### # ###
#######################
#
#
#
#
# # # #
# # ###
# # ###
# # # # ##
# # ## ###
# # #####
# #####
# # #####
#####
## ##
#####
#####
## ##
## ##
````````````````````````````````````````````
Reto
Para un castillo válido, todos los bloques estarán conectados al suelo, ya sea directa o indirectamente. Su programa o función recibirá un castillo como los anteriores como entrada, y su programa debe devolver un valor verdadero o falso que refleje si el castillo es válido o no.
Reglas
- La entrada se da como una cadena.
- Todos los castillos válidos descansan sobre una superficie,
````````
. (Si la cadena de entrada no contiene una superficie, el castillo no es válido). - Puede suponer que todas las entradas satisfarán estos criterios:
- La superficie siempre será plana.
- La superficie siempre será al menos tan ancha como el castillo, por lo que no habrá bloques a la izquierda o derecha del suelo.
- La entrada nunca tendrá
#
debajo de la superficie. - La entrada solo contendrá caracteres dados en este desafío. (
#
,`
espacio o nueva línea). - Puede suponer que la entrada siempre contendrá al menos un carácter.
- Los bloques están conectados si son adyacentes horizontal o verticalmente. Diagonal no cuenta!
- Conectado:
# or ##
# - No conectado:
# or # # or #
#
#
- Conectado:
- Los castillos deben existir para ser válidos. (En otras palabras, las entradas sin ninguna
#
deben dar un valor falso). - La entrada solo contendrá caracteres dados en este desafío. (
#
,`
espacio o nueva línea). - Puede suponer que la entrada siempre contendrá al menos un carácter.
- Se aplican las reglas estándar de E / S y lagunas .
Casos de prueba
Falsa
- Todos los ejemplos dados anteriormente.
# # # #
(Sin suelo)
#### ####
#### # # ####
##############
###### ######
## ### #######
(El bloque superior no está conectado ni horizontal ni verticalmente).
### ####
#### # # ####
##############
###### ######
##### # ####
`` `` `` `` `` `` ``
`` `
(La torre central no está conectada con el resto del castillo porque no hay bloques adyacentes horizontal o verticalmente que lo conecten).
# # # # # #
##############
##### ## #####
# # # # # # # # #### # # #### # # # # # # # #
#### #### #### #### ## #### ## #### #### #### ####
## ## # # #### # # #### # # #### # # #### # # #### # # #### # # #### # # ####
################################################## ##################################
###### ######## ## ###### ######## ######## ######## ######## ######## #### ##
################################### ###### ####### ############################
################################### ###### ######### ##########################
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``
(Sin castillo, solo un personaje de nueva línea).# #
(El bloque de la derecha no está conectado ni horizontal ni verticalmente).
#
`` `` `` `
`` `
Verdad
#
`# # # #
#### ####
#### # # ####
##############
###### ######
## ### #####
`` `` `` `` `` `` ``#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
# ##### ###### ###
##### ##### ###
##### ##### ###
`` `` `` `` `` `` `` `` `` `` `` `` `` `` ``# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ## ##
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # ## ## # # ####
########################################## ##########################################
###### ## ###### ######## ######## ######## ######## ######## #### ####
###### ################################### ##### # ###################################
################################### ###### ######### ##########################
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``#### ###
# #### ###
# ###
# ##
#
###
#####
#######
#########
### ## #####
##### #####
###### ######
#################
# ### ########## #
#############
#############
#############
###### ######
###### ######
#############
#############
#############
#############
###### ##### #
###### ######
#############
#############
########### ##
#############
###### ######
###### ######
########### ##
#############
#############
#############
######### ####
##### #####
##### #####
##### #####
`` `` `` `` `` `` `` `` `` `` `
####
#####
######
####
####
#####
########
##########
#### ######
###########
############
##############
##### ## ##############
########### #################
###########################################
####### #################################
################# ####################
############################## ####
############################
################## #
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` ``
¡Buena suerte!