#P1306. [TJOI2013] 循环格
[TJOI2013] 循环格
题目描述
一个循环格就是一个矩阵,其中所有元素为箭头,指向相邻四个格子。每个元素有一个坐标 ,其中左上角元素坐标为 。给定一个起始位 ,你可以沿着箭头方向在格子间行走。即:如果 是一个左箭头,那么走到 ;如果是一个右箭头,走到 ;如果是上箭头,走到 ;如果是下箭头,走到 。每一行和每一列都是循环的,即如果走出边界,你会出现在另一侧。比如在一个 的循环格里,从 向左走会出现在 。
一个完美的循环格是这样定义的:对于任意一个起始位置,你都可以沿着箭头最终回到起始位置。如果一个循环格不满足完美,你可以随意修改任意一个元素的箭头直到完美。例如下图,左边不是一个完美的循环格,因为只有从 出发才会回到起始位置。通过修改其中两个箭头,可以得到右图,一个完美的循环格。
给定一个循环格,你需要计算最少需要修改多少个元素使其完美。
输入格式
第一行两个整数 和 ,表示循环格的行和列。接下来 行,每一行包含 个字符 LRUD
表示左右上下。
输出格式
一个整数,表示最少需要修改多少个元素使得给定的循环格完美。
4 4
RRRD
URDD
UULD
ULLL
0
3 4
RRRD
URLL
LRRR
2
提示
的数据,。
的数据,。