#arc0052. [arc005_2]P-CASカードと高橋君

[arc005_2]P-CASカードと高橋君

题目描述

高桥君为了准备即将到来的7月27日土用丑日,打算邮购一些高级鳗鱼食材,通过网上银行来支付。 高桥君使用的银行卡背面有下图所示的9×9密码表。支付的时候从表中某一位置开始根据指定的方向连续读4个数字作为验证码输入,验证是否是本人操作。 下图的例子是从左边第一列,上方第一行开始,按斜右下的方向连续读4个数字。此时读出来的数字是7930. 从1行1列斜右下方读4个数字的例子 如果读数的过程中超过了边界,就要将方向改变,然后继续读剩余的数字。改变方向的规则如下:

  • 原方向是上下左右时
  • 将原方向180°调转
  • 原方向是斜向时
  • 在对角线上时
    • 将原方向180°调转
  • 遇到左右边界时
    • 上下方向不变,左右方向调转
  • 遇到上下边界时
    • 左右方向不变,上下方向调转

总之如下图所示 方向改变规则一览 给出密码表、起始位置和方向,要求输出相应的4位验证码。

输入输出格式

输入格式:

x y W
c11 c12 ... c19
c21 c22 ... c29
:
:
c91 c92 ... c99
  • 共10行输入
  • 第1行,整数x代表列(1≤x≤9),整数y代表行(1≤y≤9),W表示方向
  • W是R、L、U、D、RU、RD、LU、LD的其中一种
  • R : 右方向
  • L : 左方向
  • U : 上方向
  • D : 下方向
  • RU : 右上方向
  • RD : 右下方向
  • LU : 左上方向
  • LD : 左下方向
  • 第2行到第9行是密码表中的整数Cij(1≦i,j≦9)
  • i和j表示第i行第j列数字Cij
  • Cij的范围是0~9

输出格式:

输出一行四个整数,最后输出换行。

输入输出样例

输入样例#1

3 5 R
790319030
091076399
143245946
590051196
398226115
442567154
112705290
716433235
221041645

输出样例#1

8226

输入样例#2

8 9 LU
206932999
471100777
973172688
108989704
246954192
399039569
944715218
003664867
219006823

输出样例#2

2853

输入样例#3

5 7 D
271573743
915078603
102553534
996473623
595593497
573572507
340348994
253066837
643845096

输出样例#3

4646

输入样例#4

2 2 LU
729142134
509607882
640003027
215270061
214055727
745319402
777708131
018697986
277156993

输出样例#4

0700

输入样例#5

8 7 RD
985877833
469488482
218647263
856777094
012249580
845463670
919136580
011130808
874387671

输出样例#5

8878

说明

样例1

  • 3列5行,右方向

样例2

  • 8列9行,左上方向

样例3

  • 5列7行,下方向,遇到下边界,改变方向继续读数

样例4

  • 2行2列,左上方向,遇到边界,改变方向继续读数

样例5

  • 8行7列,右下方向,遇到边界,改变方向继续读数