Trong bài toán này, chúng ta được cung cấp một số n biểu thị n hộp nằm trên cạnh của một hình tròn. Và có Q truy vấn mỗi truy vấn bao gồm hai số nguyên, a và b. Nhiệm vụ của chúng tôi là tạo một chương trình giải quyết các truy vấn để kiểm tra xem có thể nối các hộp trong một vòng kết nối hay không.
Mô tả sự cố - Để giải quyết từng truy vấn, chúng ta cần kiểm tra khả năng kết nối hộp a và hộp b bằng một thanh sao cho giao của các hộp từ truy vấn cuối cùng không thể bị xáo trộn. Chúng tôi cần in có thể hoặc không thể dựa trên điều kiện.
Hãy lấy một ví dụ để hiểu vấn đề,
Đầu vào
n = 6 Q = 3 Queries = {{1, 3}, {2, 5}, {4, 5}}
Đầu ra
Possible Not possible Possible
Giải thích
Các đường liền nét là những thanh có thể được kết nối, trong khi đường đứt nét là đường không thể được kết nối.
Phương pháp tiếp cận giải pháp
Một giải pháp đơn giản cho vấn đề là bằng cách tìm lời giải của truy vấn cho mỗi truy vấn, chúng ta sẽ tìm xem các hộp đã cho, hộp a và hộp b có thể được kết nối với nhau hay không. Đối với điều này, chúng tôi cần giữ các giá trị của truy vấn cuối cùng làm điểm tham chiếu và sau đó kiểm tra xem kết nối có khả thi hay không.
Chúng ta hãy xem xét các hộp a và b của truy vấn (i-1) dưới dạng tham chiếu ref1 và ref2. Sau đó, tìm xem điểm a và b có nằm ở hai phía đối diện của thanh hay không.
Đối với điều này, chúng tôi sẽ kiểm tra hai điều kiện,