#arc0052. [arc005_2]P-CASカードと高橋君
[arc005_2]P-CASカードと高橋君
问题文
高桥君为了准备7月27日的土用丑日,决定通过在线购物购买高级鳗鱼。支付将通过网上银行进行。
高桥君使用的网上银行卡背面附有一个混合了纵向9个字符和横向9个字符的数字乱数表,如下图所示。当支付时,需要从指定位置的乱数表中按照指定方向连续提取4个字符进行输入,并根据输入结果进行身份验证。
下图是从“从上到下第1个字符,从左到右第1个字符”位置开始,按照“右下斜线”方向提取4个字符的示例。在这个例子中,输入的数字将是7930。
图:从第一行第一个字符开始向右下方向抽取四个字符的例子
如果在提取完乱数表的最后一个字符后仍然需要进一步提取字符,则需要改变方向并提取剩余的字符。改变方向的规则如下:
- 如果在读取时前进的方向是上下左右的情况:
- 改变方向为180度
- 如果在读取时前进的方向是斜线的情况:
- 在转弯处改变方向的情况:
- 改变方向为180度
- 在左右边缘改变方向的情况:
- 只反转左右方向,上下方向保持不变
- 在上下边缘改变方向的情况:
- 只反转上下方向,左右方向保持不变
- 在转弯处改变方向的情况:
用图示表示这些方向的变化如下图所示。
图:需要改变的方向列表
给定乱数表、要提取的数字的起始位置和要提取的方向,请给出用于身份验证的4个字符的答案。
输入
输入以以下格式从标准输入中给出。 … … : : …
- 输入共有10行。
- 第1行包含3个整数、和,用空格分隔开,表示要提取的数字的起始位置。
- 提取方向是以下中的一个值:
R
、L
、U
、D
、RU
、RD
、LU
、LD
,分别表示以下方向:R
:向右L
:向左U
:向上D
:向下RU
:向右上方斜线RD
:向右下方斜线LU
:向左上方斜线LD
:向左下方斜线
- 接下来的9行是一个整数,表示乱数表中的数字。
- 第i行第j个数字表示乱数表第i行第j个位置上的数字。其中,是0到9之间的数字。
输出
请从指定位置开始按指定方向提取数字,将这些数字作为一行输出到标准输出。
注意,在最后要输出一个换行符。
输入示例 1
3 5 R
790319030
091076399
143245946
590051196
398226115
442567154
112705290
716433235
221041645
输出示例 1
8226
- 从乱数表中提取的4个字符如下图所示,按照右方向提取。
输入示例 2
8 9 LU
206932999
471100777
973172688
108989704
246954192
399039569
944715218
003664867
219006823
输出示例 2
2853
- 从乱数表中提取的4个字符如下图所示,按照左上方向提取。
输入示例 3
5 7 D
271573743
915078603
102553534
996473623
595593497
573572507
340348994
253066837
643845096
输出示例 3
4646
- 先向下提取3个字符,然后改变方向向上提取1个字符,如下图所示。
输入示例 4
2 2 LU
729142134
509607882
640003027
215270061
214055727
745319402
777708131
018697986
277156993
输出示例 4
0700
- 先向左上提取2个字符,然后改变方向向右下提取2个字符,如下图所示。
输入示例 5
8 7 RD
985877833
469488482
218647263
856777094
012249580
845463670
919136580
011130808
874387671
输出示例 5
8878
- 先向右下提取1个字符,然后改变方向向左下提取剩余的字符。先提取3个字符,然后再改变方向向左上提取1个字符,如下图所示。
来源
ARC 005