Salah satu aspek gravitasi yang menarik adalah, sejauh yang saya ketahui, Anda tidak bisa membiarkan benda-benda melayang di udara.
Namun, tampaknya tidak semua orang di Asosiasi Pembuat Kastil Acak menyadari fakta ini, mengarah ke kastil seperti ini:
#
#
# # # # ###
#### #### # #
#### # # #### ###
############## ###
###### ###### ###
##### ##### ###
###
``````````````````````````````
dan yang satu ini:
# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ############## #### #### #### ####
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # #### # # ####
####################################################################################
###### ######## ######## ######## ######## ######## ######## ######## ######
################################### ###### ###################################
################################### ###### ###################################
##
##
##
##
##
````````````````````````````````````````````````````````````````````````````````````````````
dan bahkan yang ini:
##########
#### # ###
#######################
#
#
#
#
# # # #
# # ###
# # ###
# # # # ##
# # ## ###
# # #####
# #####
# # #####
#####
## ##
#####
#####
## ##
## ##
````````````````````````````````````````````
Tantangan
Untuk kastil yang valid, semua blok akan terhubung ke tanah baik secara langsung maupun tidak langsung. Anda program atau fungsi akan diberikan sebuah benteng seperti yang di atas sebagai input, dan program anda harus mengembalikan truthy atau nilai falsy mencerminkan apakah benteng tersebut valid atau tidak.
Aturan
- Input diberikan sebagai string.
- Semua kastil yang valid terletak di atas permukaan
````````
,. (Jika string input tidak mengandung permukaan, kastil tidak valid.) - Anda dapat menganggap semua input akan memenuhi kriteria ini:
- Permukaan akan selalu rata.
- Permukaan akan selalu setidaknya selebar kastil, sehingga tidak akan ada blok ke kiri atau kanan tanah.
- Masukan tidak akan pernah ada di
#
bawah permukaan. - Input hanya akan berisi karakter yang diberikan dalam tantangan ini. (
#
,,`
spasi atau baris baru.) - Anda dapat berasumsi bahwa input akan selalu mengandung setidaknya satu karakter.
- Blok terhubung jika mereka berdekatan secara horizontal atau vertikal. Diagonal tidak masuk hitungan!
- Terhubung:
# or ##
# - Tidak terhubung:
# or # # or #
#
#
- Terhubung:
- Kastil harus ada agar valid. (Dengan kata lain, input tanpa input
#
harus memberikan nilai palsu.) - Input hanya akan berisi karakter yang diberikan dalam tantangan ini. (
#
,,`
spasi atau baris baru.) - Anda dapat berasumsi bahwa input akan selalu mengandung setidaknya satu karakter.
- Standar I / O dan aturan celah berlaku.
Uji kasus
Palsu
- Semua contoh yang diberikan di atas.
# # # #
(Tidak ada tanah.)
#### ####
#### # # ####
##############
###### ######
## ### ######
(Blok paling atas tidak terhubung secara horizontal atau vertikal.)
### ####
#### # # ####
##############
###### ######
##### # ####
`` `` `` `` `` `` ``
`` `
(Menara pusat tidak terhubung ke seluruh kastil karena tidak ada blok yang berdekatan secara horizontal atau vertikal yang menghubungkannya.)
############################################## # # # # # # # # # # # # # # # # # #
#####
# # # # # # # #
#### #### #### #### ## #### ## #### #### #### ####
## ## # # #### # # #### # # #### # # #### # # #### # # #### # # #### # # #### # # ####
############################################### ##################################
###### ######## ## ###### ######## #################################### ##
##################################################### ############################
##################################################### #########################
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `
(Tidak ada kastil, hanya satu karakter baris baru.)# #
(Blok paling kanan tidak terhubung baik secara horizontal maupun vertikal.)
#
`` `` `` `
`` `
Sejujurnya
#
`# # # #
#### ####
#### # # ####
##############
###### ######
## ### #####
`` `` `` `` `` `` `` `#
#
# # # # ###
#### #### # #
#### # # #### ###
################ #
# ##### ###### ###
##### ##### ###
##### ##### ###
`` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `# # # # # #
##############
### #### ###
# # # # # # # # ### #### ### # # # # # # # #
#### #### #### #### ###################### #### ## ##
#### # # #### # # #### # # #### ## ######## ## #### # # #### # # #### # # ## ## # # ####
######################################## ###############################################
###### ## ###### ######## #################################### #### ######
########################################### # ##################################
##################################################### #########################
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ``#### ###
# #### ###
# ###
# ##
#
###
#####
#######
#########
### ## #####
##### #####
###### ######
#################
# ### ########## #
#############
#############
#############
###### ######
###### ######
##############
#############
#############
#############
###### ##### #
###### ######
#############
#############
########### ##
#############
###### ######
###### ######
########### ##
#############
#############
#############
######### ####
##### #####
##### #####
##### #####
`` `` `` `` `` `` `` `` `` `` `` `
####
#####
######
####
####
#####
########
##########
#### ######
###########
############
##############
##### ## ##############
########### #################
###########################################
####### #################################
################# ####################
############################## ####
############################
################## #
`` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` ` `
Semoga berhasil!