포럼
문제 COCI00071

Princeza

설명

Luka는 호수 근처에 트럭을 주차했다. 호수에는 개구리 Barica가 살고 있는데, 호수 수면에 떠 있는 \(N\)개의 수초 사이를 뛰어다닌다. 민담을 제법 아는 Luka는 Barica에게 입을 맞추면 그녀가 아름다운 공주로 변한다는 것을 알고 있다. 하지만 먼저 그녀를 잡아야 한다!

위에서 내려다볼 때, 호수 수면 위 수초의 위치는 좌표 쌍으로 나타낼 수 있다. 수초 \((x, y)\)에서 Barica는 다음과 같이 뛸 수 있다:

  • 양의 정수 \(P\)에 대해 수초 \((x+P, y+P)\)로. 이 방향을 A라고 하자.
  • 양의 정수 \(P\)에 대해 수초 \((x+P, y-P)\)로. 이 방향을 B라고 하자.
  • 양의 정수 \(P\)에 대해 수초 \((x-P, y+P)\)로. 이 방향을 C라고 하자.
  • 양의 정수 \(P\)에 대해 수초 \((x-P, y-P)\)로. 이 방향을 D라고 하자.

Barica는 네 방향 중 하나를 골라 그 방향의 첫 번째 수초로 뛴다. 고른 방향에 수초가 없으면 Barica는 제자리에 머문다. Barica가 뛰고 나면 그녀가 떠난 수초는 가라앉아 사라진다.

수초들의 위치와 Barica가 고르는 방향의 순서를 알고 있을 때, Luka는 Barica가 최종적으로 도착하는 수초의 좌표를 알고 싶어 한다. Luka는 그 수초에서 그녀를 기다렸다가 덮쳐서 입을 맞출 것이다.

Luka의 문제를 풀어 그가 Barica를 아름다운 공주로 만들 수 있도록 돕는 프로그램을 작성하시오.

제약
입력 형식

첫째 줄에 두 정수 \(N\)\(K\) (\(1 \le N, K \le 100\,000\))가 주어진다. 수초의 개수와 시도하는 점프의 횟수이다.

둘째 줄에 A, B, C, D 중 하나인 문자 \(K\)개가 주어진다. Barica가 뛰려고 시도하는 방향을 순서대로 나타낸다.

다음 \(N\)개의 줄에는 두 정수 \(X\)\(Y\) (\(0 \le X \le 1\,000\,000\,000\), \(0 \le Y \le 1\,000\,000\,000\))가 주어진다. 수초 하나의 좌표이다. Barica는 처음에 첫 번째 수초 위에 있다.

출력 형식

Barica의 최종 좌표를 출력한다.

서브태스크
서브태스크점수설명

Subtask 1

60점
예제 1
입력
7 5
ACDBB
5 6
8 9
4 13
1 10
7 4
10 9
3 7
출력
7 4
예제 2
입력
6 12
AAAAAABCCCDD
1 1
2 2
3 3
4 4
5 3
6 2
출력
5 3
문제 정보

riseoj 작성

출처 COCI 2007/2008 Contest 6

평가 및 의견

Princeza

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Princeza

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8