3 giriş öğesi, bir koordinat çifti listesi, bir 2B dizesi ve tek karakterli bir dize verildiğinde, 2B dizenin her bir koordinatındaki karakterin tek karaktere eşit olup olmadığını gösterir. Girdiyi istediğiniz sırada alabilirsiniz ve koordinatlar 1 dizinli olabilir.
2B dizeyi 2B liste, çizgi listesi veya 2B dize olarak alabilirsiniz.
Misal: (0,0), "#_\n__", "#" -> True
Dize
#_
__
Koordinattaki karakter (0,0)
(sol üst köşeden) #
. Bu, üçüncü giriş öğesine eşit olduğundan #
çıktı True
alırsınız (veya herhangi bir doğruluk değeri)
Misal: [(0,0), (1,1)], "#_\n_#", "#" -> True
Dize
#_
_#
Koordinatlarında karakterler (0,0)
ve (1,1)
hem de #
çıkış doğrudur yüzden.
Çıktı yalnızca her koordinat bir karma ile eşleştiğinde doğrudur. Yine de her karmanın eşleşen bir koordinatı olması gerekmez. #
2B dizede tek karakter ( bazı test durumlarında) görülmüyorsa, çıktı yine de yanlıştır.
Koordinatların her zaman 2B dizenin sınırları içinde olacağını varsayabilirsiniz.
Daha fazla test örneği: (Okunabilirliği kolaylaştırmak için tek karakteri ikinci sıraya koydum)
[(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
Son test senaryosunun tek karakter dizesi olarak boşluk kullandığını ve boşluk çevresindeki karmaları not edin.
İlişkili. (bu zorluğun tersi)
(row, column)
ancak son örnekte koordinatlar biçimdedir (column, row)
.