Inspirado tangencialmente pela abertura do livro What-If.
A entrada é um retângulo de espaços como uma string, lista de strings, etc., com objetos feitos de #
dentro:
########
# #
########
### ####
### ####
###
Os objetos sempre serão retângulos sem interseção, sem toque. Um objeto flexível é definido como um objeto que não é preenchido com #
s no meio e é apenas uma borda; um objeto rígido é aquele que é preenchido. Um objeto com largura ou altura <=2
é considerado rígido. Todos os objetos são rígidos ou flexíveis.
Se houver mais objetos rígidos na entrada, saída "Hard"
, se mais suave, saída "Soft"
, se forem iguais, saída "Equal"
.
Isso é código-golfe , então o código mais curto em bytes vence!
Casos de teste
Esses casos não são entradas completas, mas como cada objeto deve ser caracterizado. A entrada real será como a arte ASCII no topo da questão.
Difícil
#
####
##
##
##########
##########
##########
Suave
###
# #
###
###################
# #
# #
# #
###################
####
# #
# #
# #
# #
# #
# #
# #
####
Casos de teste reais
########
# #
########
### ####
### ####
###
Hard
###
###
###
###################
# #
# #
# #
###################
Equal
######
# #
######
###
## # # #
###
########
# #
########
Soft