L'un des aspects intéressants de la gravité est que, autant que je sache, vous ne pouvez pas laisser simplement des objets flotter dans les airs.
Cependant, il semble que tous les membres de l'Association of Random Castle Builders ne soient pas conscients de ce fait, ce qui conduit à des châteaux comme celui-ci:
#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
###### ###### ###
##### ##### ###
###
``````````````````````````````
et celui-là:
# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ####
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # #### # # ####
####################################################################################
###### ######## ######## ######## ######## ######## ######## ######## ######
################################### ###### ###################################
################################### ###### ###################################
##
##
##
##
##
````````````````````````````````````````````````````````````````````````````````````````````
et même celui-ci:
##########
#### # ###
#######################
#
#
#
#
# # # #
# # ###
# # ###
# # # # ##
# # ## ###
# # #####
# #####
# # #####
#####
## ##
#####
#####
## ##
## ##
````````````````````````````````````````````
Défi
Pour un château valide, tous les blocs seront connectés au sol, directement ou indirectement. Votre programme ou votre fonction recevra un château tel que ceux ci-dessus, et votre programme devra renvoyer une valeur de vérité ou de fausseté indiquant si le château est valide ou non.
Règles
- L'entrée est donnée sous forme de chaîne.
- Tous les châteaux valides reposent sur une surface,
````````
. (Si la chaîne d'entrée ne contient pas de surface, le château n'est pas valide.) - Vous pouvez supposer que toutes les entrées répondront à ces critères:
- La surface sera toujours plate.
- La surface sera toujours au moins aussi large que le château, il n'y aura donc pas de blocs à gauche ou à droite du sol.
- L'entrée n'aura jamais
#
sous la surface. - Les entrées ne contiendront que des caractères donnés dans ce challenge. (
#
,`
, L' espace ou saut de ligne). - Vous pouvez supposer que l'entrée contiendra toujours au moins un caractère.
- Les blocs sont connectés s'ils sont adjacents horizontalement ou verticalement. La diagonale ne compte pas!
- Connecté:
# or ##
# - Pas connecté:
# or # # or #
#
#
- Connecté:
- Les châteaux doivent exister pour être valides. (En d'autres termes, les entrées sans aucun
#
doivent donner une valeur de fausseté.) - Les entrées ne contiendront que des caractères donnés dans ce challenge. (
#
,`
, L' espace ou saut de ligne). - Vous pouvez supposer que l'entrée contiendra toujours au moins un caractère.
- Les règles standard d' entrée / sortie et d' échappatoire s'appliquent.
Cas de test
Fausseté
- Tous les exemples donnés ci-dessus.
# # # #
(Pas de terrain.)
##### ####
#### # # ####
#############
###### ######
## ### ######
(Le bloc le plus haut n'est pas connecté horizontalement ou verticalement.)
### ####
#### # # ####
#############
###### ######
##### # ####
`` `` `` `` `` ``
`` `
(La tour centrale n'est pas connectée au reste du château car il n'y a pas de blocs adjacents horizontalement ou verticalement le connectant.)
# # # # # # #
##############
##### ## #####
# # # # # # # # # # ### # # # # # # # #
#### #### #### #### ## #### ## #### #### #### ####
## ## # # #### # # #### # # #### # # #### # # #### # # #### # # #### # # ###
################################################# ##################################
###### ########## ###### ######## ######## ######## ####### ########### ##
################################### ###### ####### ##############################
################################### ###### ######### ###########################
`` `` `` `` `` `` `` `` `` `` ``. `.........`....... `. Non pas. Non pas non pas non pas non pas pas pas pas pas pas pas `` `` `` `` ``
(Pas de château, juste un seul caractère newline.)# #
(Le bloc le plus à droite n'est pas connecté horizontalement ou verticalement.)
#
`` `` `` `
`` `
Vérité
#
`# # # #
##### ####
#### # # ####
#############
###### ######
## ### #####
`` `` `` `` `` `` `#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
# ##### ###### ###
##### ##### ###
##### ##### ###
`` `` `` `` ` `` `` `` `` `` `` `` `# # # # # #
###############
### #### ###
# # # # # # # # # ### #### ### # # # # # # # #
#### # #### #### #### ############# #### #### #### ## ##
#### # # #### # # #### # # #### ## ######## ## #### # # #### # ### ## # # ####
######################################### ##########################################
###### ## ###### ######## ######## ######## ####### ########### #### ######
####################################### # #####################################
################################### ###### ######### ###########################
`` `` `` `` `` `` `` `` `` `` ``. `.........`....... `. Non pas. Non pas non pas non pas non pas pas pas pas pas pas pas `` `` `` `` `` `` ``#### ###
# #### ###
# ###
# ##
#
###
#####
#######
#########
### ## #####
##### #####
###### ######
################
### ########## #
##############
############
############
###### ######
###### ######
#############
#############
#############
############
########## #
###### ######
#############
############
########## ##
############
###### ######
###### ######
########## ##
#############
#############
#############
######### ####
##### #####
##### #####
##### #####
`` `` `` `` `` `` ` `` `` `
####
#####
######
####
####
#####
########
##########
#### ######
###########
############
##############
##### ## ##############
########### #################
###########################################
####### ##################################
################ #####################
############################ ####
#############################
################# #
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `
Bonne chance!