ในปัญหานี้ เราได้รับตัวเลข n ซึ่งหมายถึง n กล่องที่อยู่ขอบวงกลม และมีคิวรี Q แต่ละรายการประกอบด้วยจำนวนเต็มสองตัวคือ a และ b งานของเราคือสร้างโปรแกรมเพื่อแก้ปัญหาเพื่อตรวจสอบว่าสามารถเข้าร่วมกล่องในแวดวงได้หรือไม่
คำอธิบายปัญหา − เพื่อแก้ปัญหาแต่ละคำถาม เราจำเป็นต้องตรวจสอบความเป็นไปได้ของการเชื่อมต่อกล่อง a และกล่อง b ด้วยแท่งในลักษณะที่จุดตัดของกล่องจากแบบสอบถามสุดท้ายจะไม่ถูกรบกวน เราจำเป็นต้องพิมพ์ เป็นไปได้ หรือ เป็นไปไม่ได้ ตามเงื่อนไข
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
อินพุต
n = 6 Q = 3 Queries = {{1, 3}, {2, 5}, {4, 5}}
ผลลัพธ์
Possible Not possible Possible
คำอธิบาย
เส้นทึบคือแท่งที่เชื่อมต่อได้ ส่วนเส้นประคือเส้นที่เชื่อมต่อไม่ได้
แนวทางการแก้ปัญหา
วิธีแก้ปัญหาอย่างง่ายคือการค้นหาวิธีแก้ปัญหาของคิวรีสำหรับแต่ละคิวรี เราจะพบว่ากล่องที่กำหนดกล่อง a และกล่อง b สามารถเชื่อมต่อได้หรือไม่ สำหรับสิ่งนี้ เราจำเป็นต้องเก็บค่าของการสืบค้นล่าสุดเป็นจุดอ้างอิง จากนั้นตรวจสอบว่าการเชื่อมต่อเป็นไปได้หรือไม่
ลองพิจารณากล่อง a และ b ของข้อความค้นหา (i-1) เป็นข้อมูลอ้างอิง ref1 และ ref2 จากนั้นให้หาว่าจุด a และ b อยู่ด้านตรงข้ามของแกนหรือไม่
สำหรับสิ่งนี้เราจะตรวจสอบสองเงื่อนไข