Logo
(追記) (追記ここまで)

20554번 - 경로 수정하기

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB230504233.333%

문제

오른쪽으로 갈수록 $x$좌표가 증가하고, 위쪽으로 갈수록 $y$좌표가 증가하는 일반적인 좌표평면 상의 $(0,0)$에 사는 석표는 $(X,Y)$에 있는 준호의 집으로 가려고 한다. 석표는 1초마다 수평 또는 수직 방향으로 1만큼 이동하는데, 석표의 이동 계획을 정리한 길이 $N$의 문자열을 $S$라고 한다. $S$의 $i$번째 문자가 L, R, D, U인지에 따라 석표는 각각 왼쪽, 오른쪽, 아래쪽, 위쪽으로 1만큼 이동한다.

덜렁이인 석표가 세운 이동 계획은 정확하지 않을 수 있다. 이동 계획이 정확하다는 것은 모든 이동을 완료한 후 석표가 $(X,Y)$에 있다는 것을 의미한다. 중간에 $(X,Y)$를 도달했어도 마지막에 $(X,Y)$에 있지 않는다면 정확한 이동 계획이 아니다.

석표는 $S$의 한 문자를 다른 문자로 수정하는 것을 반복해, 정확한 이동 계획으로 바꾸려고 한다. 석표는 힘들게 4ドル^N$가지 경우를 모두 따져서 필요한 최소 수정 횟수를 구했다. 그런데 슬프게도 준호가 이사를 갔다는 소식이 전해졌다. 준호는 $Q$개의 위치 중 하나로 이동했다고 한다. $i$번째 위치는 $(X_i,Y_i)$이다. 이제 석표는 $Q$개의 위치 각각에 대해 필요한 최소 수정 횟수를 구해야 한다.

석표는 $Q$번 최소 수정 횟수를 구해야 한다는 사실에 그만 정신을 잃고 말았다. 석표를 위해 대신 답을 구해주자.

입력

첫 줄에 $N$과 $Q$가 공백으로 구분되어 주어진다. $(1 \leq N,Q \leq 300,000円)$

다음 줄에 $S$가 주어진다.

이후 $Q$개의 줄에 걸쳐 $X_i$와 $Y_i$가 공백으로 구분되어 주어진다. $(|X_i|,|Y_i| \leq 300,000円)$

출력

각 위치에 대해 정확한 이동 계획으로 바꾸는 것이 불가능하다면 -1을, 그렇지 않다면 필요한 최소 수정 횟수를 줄바꿈으로 구분하여 출력한다.

제한

예제 입력 1

10 3
DLRURDRLDU
2 3
3 3
-4 8

예제 출력 1

-1
3
-1

힌트

출처

School > 경기과학고등학교 > 나는코더다 송년대회 > 나는코더다 2020 송년대회 C번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /