問題一覧 >
通常問題
No.2716 Falcon Method
レベル :
/ 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ :
/
解いたユーザー数 95
作問者 :
ecottea
/ テスター :
👑
p-adic
hamamu
問題文最終更新日: 2024-02-08 21:48:13
問題文
D
,R
のみからなる長さ N の文字列 S=S0S1⋯SN−1 が与えられます(添字が 0 始まりであることに注意してください).
二次元グリッド上を移動する手続き F(h,w,p) を以下のように定めます:
- 位置を (0,0),カウンタの値を p で初期化する.
- 現在の位置が (x,y),カウンタの値が i であるとき,
- x=h かつ y=w である場合,手続きを終了する.
- そうでなく x=h である場合,位置を (x,y+1) に更新して 2. に戻る.
- そうでなく y=w である場合,位置を (x+1,y) に更新して 2. に戻る.
- そうでない場合,mod を剰余を表す二項演算子として,
- Si=
D
ならば位置を (x+1,y) に,カウンタを (i+1)modN にそれぞれ更新して 2. に戻る.
- Si=
R
ならば位置を (x,y+1) に,カウンタを (i+1)modN にそれぞれ更新して 2. に戻る.
Q 個のクエリが与えられます.i 番目のクエリは整数の組 (Hi,Wi,Pi) で表されるので,手続き F(Hi,Wi,Pi) を終えた後のカウンタの値を求めてください.
制約
- 1≤N≤2×105
- 1≤Q≤105
- 1≤Hi,Wi≤109
- 0≤Pi<N
- S は
D
,R
のみからなる長さ N の文字列
- 入力される数値は全て整数
入力
入力は以下の形式で標準入力から与えられます.
N Q
S
H1 W1 P1
⋮
HQ WQ PQ
出力
Q 行出力してください.i 行目には手続き F(Hi,Wi,Pi) を終えた後のカウンタの値を出力してください.
最後に改行してください.
サンプル
サンプル1
入力
4 3
RDDR
3 2 1
1 7 0
4 1 3
出力
1
2
0
1 番目のクエリは (3,2,1) であり,手続き F(3,2,1) は次のように進行します:
- 位置を (0,0),カウンタの値を 1 で初期化する.
- 0<3,0<2 で S1=
D
なので,位置を (0+1,0)=(1,0),カウンタの値を (1+1)mod4=2 に更新する.
- 1<3,0<2 で S2=
D
なので,位置を (1+1,0)=(2,0),カウンタの値を (2+1)mod4=3 に更新する.
- 2<3,0<2 で S3=
R
なので,位置を (2,0+1)=(2,1),カウンタの値を (3+1)mod4=0 に更新する.
- 2<3,1<2 で S0=
R
なので,位置を (2,1+1)=(2,2),カウンタの値を (0+1)mod4=1 に更新する.
- 2<3,2=2 なので,位置を (2+1,2)=(3,2) に更新する.
- 3=3,2=2 なので,手続きを終了する.
手続きを終えた後のカウンタの値は 1 です.
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。