#4063. 格子游戏

格子游戏

题目描述

Alice 和 Bob 玩了一个古老的游戏:首先画一个 n×nn \times n 的点阵,接着他们两个轮流在相邻的点之间画上边(Alice 画红边,Bob 画蓝边,但赢家与颜色无关,只取决于谁围成封闭圈),直到围成一个封闭的圈(面积不必为 11)为止,“封圈”的那个人就是赢家。因为棋盘实在是太大了(n200n \le 200),他们的游戏实在是太长了!他们甚至在游戏中都不知道谁赢得了游戏。于是请你写一个程序,帮助他们计算他们是否结束了游戏?

输入格式

第一行包含两个整数 nnmm,表示点阵大小为 n×nn \times n,一共画了 mm 条线。

接下来 mm 行,每行首先有两个整数 x,yx, y,代表画线的起点坐标(点阵的行列编号从 11nn),接着一个字符(DR),D 表示向下连一条边(从 (x,y)(x,y)(x+1,y)(x+1,y)),R 表示向右连一条边(从 (x,y)(x,y)(x,y+1)(x,y+1))。输入数据不会有重复的边且保证给出的边合法(不会超出边界)。

输出格式

输出一行:如果在第 kk 步时第一次围成一个封闭圈,则输出 kk;假如 mm 步之后也没有围成封闭圈,则输出 draw

样例

3 5
1 1 D
1 1 R
1 2 D
2 1 R
2 2 D
4

样例解释
3×33 \times 3 的点阵中,前 44 步画出的边形成了一个封闭的正方形(由 (1,1)(1,1) 向右到 (1,2)(1,2),向下到 (2,2)(2,2),再向左下?实际根据输入顺序,在第 442 1 R 完成后,边 (1,1)(2,1)(1,1)-(2,1)(1,1)(1,2)(1,1)-(1,2)(1,2)(2,2)(1,2)-(2,2)(2,1)(2,2)(2,1)-(2,2) 构成一个封闭的正方形,故游戏在第 44 步结束。)

数据范围

  • 2n2002 \le n \le 200
  • 1m2×1051 \le m \le 2 \times 10^5
  • 坐标 (x,y)(x,y) 满足 1x,yn1 \le x, y \le n,且对于 D 保证 x<nx < n,对于 R 保证 y<ny < n