#P1231. The Alphabet Game
The Alphabet Game
描述
小达拉最近学会了写一些字母(假设是 个字母)。他和妹妹萨拉玩一个游戏。达拉在纸上画了一个网格,并在网格的单元格中写下了每个字母 次。然后,他要求萨拉在网格的线条上画出若干条水平和/或垂直的粗线,使得每个不包含粗线的矩形中要么包含 个相同字母,要么什么字母也没有。例如,考虑图 1 中给出的纸张,萨拉画了两条粗线,创建了四个满足上述条件的矩形。如果萨拉成功画出符合要求的线条,她就获胜。由于达拉对萨拉非常公平,他希望确保每个他给萨拉的案例都至少有一个解。你需要编写一个程序,帮助达拉决定每个案例是否能成功画出正确的线条。

输入
输入文件的第一行包含一个整数 (),表示测试用例的数量,接着是每个测试用例的输入数据。每个测试用例的第一行包含两个整数 (),表示字母的种类数,和 (),表示每个字母的出现次数。接下来的 行中,每行包含 对整数 ,表示字母的每个实例的坐标。纸张的左上角坐标假定为 。坐标是小于或等于 的正整数。你可以假设没有一个单元格包含多个字母。
输出
对于每个测试用例,输出一行,包含一个单词 或 ,表示是否可以按照题目中的约束成功划分网格。
2
3 2
6 4 8 4
4 2 2 1
2 3 2 4
3 3
1 1 3 1 5 1
2 1 4 1 6 1
2 2 4 2 8 1
YES
NO
来源
Tehran 2002 Preliminary