PreVOI 2026 - Arrows
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho một bảng ~n \times m~ cùng với ~k~ mũi tên song song với cạnh của bảng. Mỗi mũi tên sẽ đi qua một số ô của bảng và được biểu diễn bởi 2 ô ~(x_1, y_1), (x_2, y_2)~ lần lượt là ô bắt đầu và kết thúc của mũi tên. Xét một mũi tên bắt đầu tại ~(x_1, y_1)~ và kết thúc tại ~(x_2, y_2)~, ta định nghĩa:
- Mũi tên thuộc loại U nếu ~x_1 > x_2, y_1 = y_2~.
- Mũi tên thuộc loại R nếu ~x_1 = x_2, y_1 < y_2~.
- Mũi tên thuộc loại D nếu ~x_1 < x_2, y_1 = y_2~.
- Mũi tên thuộc loại L nếu ~x_1 = x_2, y_1 > y_2~.
Đề bài đảm bảo rằng cả ~k~ mũi tên đều thuộc 1 trong 4 loại trên. Dễ thấy mỗi mũi tên đều là một đoạn thẳng, mỗi mũi tên sẽ "chiếm" mọi ô nằm trên đoạn thẳng của mũi tên, đề bài đảm bảo rằng mỗi ô chỉ bị "chiếm" bởi tối đa 1 mũi tên.
Nhiệm vụ của bạn là phải bỏ được tất cả ~k~ mũi tên ra khỏi bảng sau đúng ~k~ lượt chơi. Tại mỗi lượt chơi bạn sẽ được bỏ đúng một mũi tên nếu mũi tên đó thoả mãn điều kiện dưới đây (giả sử mũi tên bắt đầu tại ~(x_1, y_1)~ và kết thúc tại ~(x_2, y_2)~):
- Nếu mũi tên thuộc loại U, tất cả các ô ~(x, y)~ thoả mãn ~x < x_2, y = y_2~ đều không được phép bị "chiếm".
- Nếu mũi tên thuộc loại R, tất cả các ô ~(x, y)~ thoả mãn ~x = x_2, y > y_2~ đều không được phép bị "chiếm".
- Nếu mũi tên thuộc loại D, tất cả các ô ~(x, y)~ thoả mãn ~x > x_2, y = y_2~ đều không được phép bị "chiếm".
- Nếu mũi tên thuộc loại L, tất cả các ô ~(x, y)~ thoả mãn ~x = x_2, y < y_2~ đều không được phép bị "chiếm".
Yêu cầu: Hãy tìm thứ tự loại bỏ ~k~ mũi tên sao cho mỗi lượt đều thỏa mãn điều kiện trên.
Input
- Dòng đầu tiên gồm 3 số nguyên dương ~n, m, k~ (~1 \le n, m \le 2 \times 10^5, 1 \le k \le 10^5, 1 \le n \times m \le 2 \times 10^5~).
- Dòng thứ ~i~ trong ~k~ dòng tiếp theo gồm 4 số ~x_1, y_1, x_2, y_2~ biểu thị cho mũi tên có index ~i~ (~1 \le x_1, x_2 \le n, 1 \le y_1, y_2 \le m, x_1 = x_2~ hoặc ~y_1 = y_2, x_1 \ne x_2~ hoặc ~y_1 \ne y_2~).
Output
- In ra ~k~ số trên cùng một dòng, các số cách nhau bởi một dấu cách. Trong đó, số thứ ~i~ theo thứ tự từ trái sang là index của mũi tên được bỏ tại lượt chơi thứ ~i~.
Bình luận