← Home
write a go solution for Description:
There's a chessboard of size nxn. m rooks are placed on it in such a way that:

- no two rooks occupy the same cell;
- no two rooks attack each other.

A rook attacks all cells that are in its row or column.

Is it possible to move exactly one rook (you can choose which one to move) into a different cell so that no two rooks still attack each other? A rook can move into any cell in its row or column if no other rook stands on its path.

Input Format:
The first line contains a single integer t (1<=t<=2000) — the number of testcases.

The first line of each testcase contains two integers n and m (1<=n,m<=8) — the size of the chessboard and the number of the rooks.

The i-th of the next m lines contains two integers x_i and y_i (1<=x_i,y_i<=n) — the position of the i-th rook: x_i is the row and y_i is the column.

No two rooks occupy the same cell. No two rooks attack each other.

Output Format:
For each testcase, print "YES" if it's possible to move exactly one rook into a different cell so that no two rooks still attack each other. Otherwise, print "NO".

Note:
In the first testcase, the rooks are in the opposite corners of a 2x2 board. Each of them has a move into a neighbouring corner, but moving there means getting attacked by another rook.

In the second testcase, there's a single rook in a middle of a 3x3 board. It has 4 valid moves, and every move is fine because there's no other rook to attack it.. Output only the code with no comments, explanation, or additional text.