#agc059e. [agc059_e]Grid 3-coloring
[agc059_e]Grid 3-coloring
题目描述
你有一个 的网格棋盘。你想用 种颜色对所有的格子进行着色,要求相邻(共边)的格子不能有相同的颜色。
你已经画了棋盘的边界。现在要确定是否能够正确地给剩下的格子着色。
具体来说,给定一个长度为 的字符串 ,字符串由 1
、2
和 3
组成,表示从格子 开始按顺时针顺序绕边界的格子的颜色。严格来说,字符串 的第 个字符表示格子的颜色:
- 对于 ,表示格子 的颜色。
- 对于 ,表示格子 的颜色。
- 对于 ,表示格子 的颜色。
- 对于 ,表示格子 的颜色。
这里, 表示第 行第 列的格子。
保证边界上没有相邻的格子有相同的颜色。
对于每个输入文件,解决 个测试用例。
约束条件
- 是一个长度为 的字符串,由
1
、2
和3
组成。 - 对于 ,有 ,且 。
- 同一输入文件中的 的总和不超过 。
- 输入中的所有值都是整数。
输入
从标准输入中按以下格式给出输入:
每个测试用例的格式如下:
输出
对于每个测试用例,如果存在一种方式能够正确地用 种颜色给剩下的格子着色,则输出 YES
,否则输出 NO
。大小写不限制。
样例输入 1
4
3
12312312
4
121212121212
7
321312312312121212121321
7
321312312312121312121321
样例输出 1
NO
YES
NO
YES
可以看出,在第一个和第三个测试用例中,无法正确给剩下的格子着色。第二个和第四个测试用例的正确着色如下图所示。