Bedao Regular Contest 22 - Lấp đầy bàn cờ
Xem dạng PDFCho một bàn cờ ~n \times n~, trong đó cho trước một vài ô bị chặn. Các hàng được đánh số từ ~1~ đến ~n~, các cột được đánh số từ ~1~ đến ~n~. Dữ liệu đảm bảo mọi ô trống có thể đi đến các ô trống còn lại thông qua các ô trống kề cạnh. Nhiệm vụ của bạn là xác định xem có thể dùng các viên gạch ~2 \times 1~ để lấp đầy các ô trống không, biết rằng không thể dùng viên gạch để lấp đầy lên các ô bị chặn, các viên gạch không được đè nhau.
Input
Dòng đầu tiên gồm số nguyên dương ~t~ — số lượng testcase của bộ test này (~1 \le t \le 10^5~).
Trong mỗi testcase, gồm:
Dòng đầu gồm hai số ~n~ và ~m~ (~2 \le n \le 5000, 0 \le m \le 25 \cdot 10^6~).
Mỗi dòng trong ~m~ dòng tiếp theo chứa một cặp ~x_i~ ~y_i~ là tọa độ của ô bị chặn (~1 \le x_i, y_i \le n~).
Đảm bảo rằng tổng các ~n~ trong ~t~ testcase không quá ~5000~.
Output
Ứng với mỗi testcase, in ra "YES" nếu tồn tại một cách lấp đầy bàn cờ, ngược lại in ra "NO".
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| ~1~ | ~20 \%~ | ~m = 0~ |
| ~2~ | ~20 \%~ | ~n \le 4~ |
| ~3~ | ~60 \%~ | Không có ràng buộc gì thêm |
Sample Input 1
3
4 0
3 2
3 3
3 3
2 3
1 1
1 2
2 2
Sample Output 1
YES
YES
NO

Bình luận