#P2691. 逃离

逃离

题目描述

译自 CLRS Problem 26-1 Escape problem

在一个 n×nn\times n 的网格中有 mm 个起始点 (x1,y1),(x_1, y_1), (x2,y2),(x_2, y_2), ,\dots, (xm,ym)(x_m, y_m),试问:能否为这些结点分别找一条到边界的路径,且这 mm 条路径互不相交(即任意两条路径上没有一个相同的结点)。

https://i.loli.net/2018/10/14/5bc2ec2948f8b.png

黑点表示起始点,其他点用白点表示。找出的路径用加粗的线表示。图 (a) 存在符合条件的 mm 条路径,图 (b) 则不存在。

输入格式

第一行是一个整数,为 nn (1n35)(1\le n≤35)

第二行还是一个整数,为 m(1mn2)m(1\le m\le n^2)

以下 mm 行,第 (i+2)(i+2) 行包含两个整数 xix_iyiy_i,表示第 ii 行第 jj 列的点是起始点。保证起始点坐标互不相同。

输出格式

只包括一行。若存在逃脱输出 YES,不存在逃脱输出 NO

6
10
2 2
2 4
2 6
3 1
3 2
3 4
3 6
4 2
4 4
4 6
YES