#P7683. [COCI2008-2009#5] KRUSKA

[COCI2008-2009#5] KRUSKA

题目背景

Aladdin 已经厌倦了宫殿里的生活。他有一份稳定的工作,他的妻子 Jasmine 和孩子们都在路上,生活变得单调。在这一切的驱使下,他决定在安顿下来之前再进行一次冒险。他决定找到 Golden Pear,这是一件极为珍贵的传奇文物,至今无人能找到。

题目描述

Aladdin 正在寻找的沙漠可以被看作是一个 n×nn×n 的网格。行和列从上到下、从左到右编号为 11nn。沙漠中的网格里一共有 mm 个巫师,他们以一种不同寻常的方式帮助 Aladdin 完成任务。

Aladdin 星期一在沙漠的左上角 (1,1)(1,1) 开始他的任务并面朝右。他的动作包括重复这些步骤:

  1. 如果当前的网格里有一个醒着的巫师,那么 Aladdin 会根据巫师说的话向左或向右转 9090 度。
  2. 如果向前走会把 Aladdin 带出沙漠,他会转过 180180 度。
  3. Aladdin 向前移动了一格,这将花费他一天的时间。

对于每个巫师,我们都知道他的位置和一周中每一天的活动计划。每个巫师的日程表是一个由七个字母(仅包含LRS)组成的字符串,每个字符告诉我们巫师在一周中的某一天(从星期一开始)做什么。字母 L 表示 Aladdin 将在这一天被告知向左转,R 表示 Aladdin 将在这一天被告知向右转,而 S 表示巫师那天正在睡觉。

一个古老的预言说,在改变 kk 次方向(通过步骤 11 和步骤 22)后,Aladdin 会找到 Golden Pear。根据古老的预言,写一个程序来计算冒险将持续多少天。

输入格式

输入共 m+2m+2 行。

第一行,两个整数 n,kn,k,分别表示沙漠的边长和古老的预言中所说的要改变方向的次数。
第二行,一个整数 mm,表示巫师的个数。
随后 mm 行,第 ii 行两个整数和一个字符串,分别表示巫师所在的横坐标,纵坐标和一个星期内的行动(从星期一开始)。

数据保证不存在在 (1,1)(1,1) 处的巫师、两个在同一网格的巫师或者在沙漠外的巫师。

输出格式

输出仅一行,一个整数,代表冒险持续的天数。

3 1
0
2
5 2
2
1 3 RRSRRRR
1 5 RRRRLRR
4
5 5
3
1 3 SSRSSSS
3 3 SSSLSSS
4 3 SSRSSLS
10

提示

【样例 1 解释】

对于样例 11,Aladdin 移动了两格之后到达沙漠的边缘,随后他转过 180180 度,找到了 Golden Pear。所以冒险将持续 22 天。

【样例 2 解释】

对于样例 22,Aladdin 在走了两天之后找到了第一个巫师,但是这个巫师此时正在睡觉,所以 Aladdin 继续走了两天,然后他在第 44 天找到了第二个巫师,这个巫师告诉他要向左转,Aladdin 这么做了,然后他来到了沙漠的边缘,转过 180180 度,找到了 Golden Pear。所以冒险将持续 44 天。

【数据范围】

对于 50%50\% 的数据,保证 k1000k\leqslant 1000
对于所有数据,2n2002\leqslant n\leqslant 2001k1091\leqslant k\leqslant 10^90m1040\leqslant m\leqslant 10^4

【题目来源】

本题来源自 COCI 2008-2009 CONTEST 5 T6 KRUSKA,按照原题数据配置,满分 130130 分。

Eason_AC 翻译整理提供。