Biorąc pod uwagę 3 elementy wejściowe, listę par współrzędnych, ciąg 2D i ciąg jednoznakowy, określ, czy znak na każdej współrzędnej ciągu 2D jest równy jednemu znakowi. Dane wejściowe można przyjmować w dowolnej kolejności, a współrzędne mogą być indeksowane 1.
Możesz wziąć ciąg 2D jako listę 2D, listę linii lub ciąg 2D.
Przykład: (0,0), "#_\n__", "#" -> True
Ciąg jest
#_
__
Znak na współrzędnej (0,0)
(od lewego górnego rogu) to #
. Jest to równe trzeciemu elementowi wejściowemu #
, więc wyprowadzasz True
(lub dowolną prawdziwą wartość)
Przykład: [(0,0), (1,1)], "#_\n_#", "#" -> True
Ciąg jest
#_
_#
Znaki na współrzędnych (0,0)
i (1,1)
są oba #
, więc wynik jest prawdziwy.
Dane wyjściowe są prawdziwe tylko wtedy, gdy każda współrzędna pasuje do skrótu. Jednak nie każdy skrót musi mieć pasującą współrzędną. Jeśli nie ma żadnych wystąpień pojedynczego znaku ( #
w niektórych przypadkach testowych) w ciągu 2D, wynik jest nadal po prostu fałszem.
Możesz założyć, że współrzędne zawsze będą się mieścić w granicach ciągu 2D.
Więcej przypadków testowych: (Dla większej czytelności umieszczam jeden znak na drugim miejscu)
[(0,0), (2,1), (3,0)], #
#_##
#_##
True
[(0,0), (1,1), (3,0)], #
#_##
#_##
False (1,1 is not a hash)
[(1,1)], a
#a##
#a##
True
[(4, 0), (3, 0), (2, 0), (1, 0), (0, 0), (0, 1), (0, 2), (0, 3), (1, 3), (2, 3), (2, 2), (3, 2), (4, 2), (4, 3)], ' '
####
#
#
True
Zwróć uwagę, że ostatni przypadek testowy używa spacji jako łańcucha pojedynczego znaku i hasha wokół spacji.
Związane z. (odwrotność tego wyzwania)
(row, column)
ale w ostatnim przykładzie współrzędne są w formacie (column, row)
.