Einer der interessanten Aspekte der Schwerkraft ist, dass man, soweit ich weiß, nicht einfach Sachen in der Luft schweben lassen kann.
Es scheint jedoch, dass nicht alle Mitglieder der Association of Random Castle Builders sich dieser Tatsache bewusst sind, was zu Burgen wie dieser führt:
#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
###### ###### ###
##### ##### ###
###
``````````````````````````````
und das hier:
# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ####
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # #### # # ####
####################################################################################
###### ######## ######## ######## ######## ######## ######## ######## ######
################################### ###### ###################################
################################### ###### ###################################
##
##
##
##
##
````````````````````````````````````````````````````````````````````````````````````````````
und sogar dieses:
##########
#### # ###
#######################
#
#
#
#
# # # #
# # ###
# # ###
# # # # ##
# # ## ###
# # #####
# #####
# # #####
#####
## ##
#####
#####
## ##
## ##
````````````````````````````````````````````
Herausforderung
Für eine gültige Burg werden alle Blöcke entweder direkt oder indirekt mit dem Boden verbunden. Ihr Programm oder Ihre Funktion erhält ein Schloss wie das oben genannte als Eingabe, und Ihr Programm muss einen wahren oder falschen Wert zurückgeben , der angibt, ob das Schloss gültig ist oder nicht.
Regeln
- Die Eingabe erfolgt als String.
- Alle gültigen Burgen ruhen auf einer Fläche
````````
. (Wenn die Eingabezeichenfolge ist nicht eine Oberfläche enthält, ist das Schloss ungültig.) - Sie können davon ausgehen, dass alle Eingaben diese Kriterien erfüllen:
- Die Oberfläche wird immer flach sein.
- Die Oberfläche wird immer mindestens so breit wie die Burg sein, so dass links oder rechts vom Boden keine Blöcke sind.
- Der Eingang wird niemals
#
unter der Oberfläche liegen. - Die Eingabe enthält nur Zeichen, die in dieser Abfrage angegeben wurden. (
#
,`
Leerzeichen oder Zeilenvorschub.) - Sie können davon ausgehen, dass die Eingabe immer mindestens ein Zeichen enthält.
- Blöcke werden verbunden, wenn sie horizontal oder vertikal benachbart sind. Diagonale zählt nicht!
- In Verbindung gebracht:
# or ##
# - Nicht verbunden:
# or # # or #
#
#
- In Verbindung gebracht:
- Burgen müssen existieren, um gültig zu sein. (Mit anderen Worten, Eingaben ohne
#
Eingabe müssen einen falschen Wert ergeben.) - Die Eingabe enthält nur Zeichen, die in dieser Abfrage angegeben wurden. (
#
,`
Leerzeichen oder Zeilenvorschub.) - Sie können davon ausgehen, dass die Eingabe immer mindestens ein Zeichen enthält.
- Standard I / O und Schlupfloch Regeln gelten.
Testfälle
Falsch
- Alle oben angegebenen Beispiele.
# # # #
(Kein Boden.)
#### ####
#### # # ####
##############
###### ######
## ### ######
(Der oberste Block ist weder horizontal noch vertikal angeschlossen.)
### ####
#### # # ####
##############
###### ######
##### # ####
`` `` `` `` `` `` `
`` `
(Der zentrale Turm ist nicht mit dem Rest der Burg verbunden, da keine horizontal oder vertikal angrenzenden Blöcke ihn verbinden.)
# # # # # #
##############
#####
######## # # # # # # #### # # #### # # # # # # # #
#### #### #### #### ## #### ## #### #### #### ####
## ## # # #### # # #### # # #### # #### # #### # # #### # #### #### # ####
################################################## ##################################
###### ######## ## ###### ############################ ############ ##
################################### ###### ####### ############################
################################################ #########################
`` `` `` `` `` `` `` `` `` `` `` ` "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" `` `` `` `` `` ``
(Keine Burg, nur ein einziger Newline-Charakter.)# #
(Der Block ganz rechts ist weder horizontal noch vertikal angeschlossen.)
#
`` `` ``
`` `
Wahrheit
#
`# # # #
#### ####
#### # # ####
##############
###### ######
## ### #####
`` `` `` `` `` `` `#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
# ##### ###### ######
##### ###
##### ##### ###
`` `` `` `` `` `` `` `` `` `` `` `` `` `# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ## ##
#### # # #### # # # # #### #### ## ######## ## #### # # #### # # ## ## # # ####
########################################## ##########################################
###### ## ###### ############################ ############ ###### ####
################################### ##### # ###################################
################################################ #########################
`` `` `` `` `` `` `` `` `` `` `` ` "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" `` `` `` `` `` `` `` ``#### ###
# #### ###
# ###
# ##
#
###
#####
#######
#########
##### #####
##### #####
###### ######
#################
# ############# #
#############
#############
#############
###### ######
###### ######
#############
#############
#############
#############
###### ######
###### ######
#############
#############
#############
#############
###### ######
###### ######
#############
#############
#############
#############
#############
##### #####
##### #####
##### #####
`````````````````````
####
#####
######
####
####
#####
########
##########
#### ######
###########
############
##############
##### ## ##############
########### #################
###########################################
####### #################################
################# ####################
############################## ####
############################
################## #
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `
Viel Glück!