กำหนด 3 รายการอินพุตรายการคู่ประสานงานสตริง 2D และสตริงอักขระเดี่ยวเอาท์พุทไม่ว่าอักขระในแต่ละพิกัดของสตริง 2D จะเท่ากับอักขระเดียว คุณสามารถรับอินพุตในลำดับใดก็ได้และพิกัดอาจมีดัชนี 1 ชุด
คุณอาจใช้สตริง 2D เป็นรายการ 2D รายการของบรรทัดหรือสตริง 2D
ตัวอย่าง: (0,0), "#_\n__", "#" -> True
สตริงนั้นคือ
#_
__
ถ่านที่พิกัด(0,0)(จากซ้ายด้านบน) #เป็น นี่เท่ากับรายการอินพุตที่สาม#ดังนั้นคุณจึงเอาท์พุทTrue(หรือค่าจริงใด ๆ )
ตัวอย่าง: [(0,0), (1,1)], "#_\n_#", "#" -> True
สตริงนั้นคือ
#_
_#
อักขระที่พิกัด(0,0)และ(1,1)มีทั้งคู่#ดังนั้นผลลัพธ์จะเป็นจริง
เอาต์พุตจะเป็นจริงถ้า iff ทุกพิกัดตรงกับแฮช ไม่แฮชทุกคนจะต้องมีพิกัดที่ตรงกัน หากไม่มีการเกิดของถ่านเดี่ยว (#ในบางกรณีทดสอบ) ในสตริง 2D ผลลัพธ์จะยังคงเป็นเท็จ
คุณสามารถสันนิษฐานได้ว่าพิกัดจะอยู่ภายในขอบเขตของสตริง 2D เสมอ
กรณีทดสอบเพิ่มเติม: (ฉันใส่ถ่านตัวที่สองเพื่อความสะดวกในการอ่าน)
[(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
หมายเหตุกรณีทดสอบล่าสุดใช้ช่องว่างเป็นสตริงอักขระเดี่ยวและแฮชรอบ ๆ ช่องว่าง
ที่เกี่ยวข้อง (สิ่งที่ตรงกันข้ามกับความท้าทายนี้)
(row, column) (column, row)