trang chủ / đề bài / dhbb23_chl_10_b

Công chúa

Đề bài

Mô tả

Ngày xửa ngày xưa ở vương quốc ABC có một nàng công chúa Barica xinh đẹp. Vì ghen ghét với sắc đẹp của nàng, mụ phù thủy XYZ đã biến nàng thành một con ếch xanh và đày cô đến sống ở một hồ nước. Vua cha đã ra thông báo nếu ai cứu được công chúa về sẽ gả công chúa cho người đó. Hôm nay, Peter đã nhận lời nhà vua đi cứu công chúa. Con ếch xanh sống trong hồ nước và nó nhảy qua N cái cây trong hồ nước. Để cứu được công chúa Barica, Peter phải hôn con ếch, con ếch sẽ biến thành nàng công chúa Barica xinh đẹp. Tuy nhiên, trước tiên anh phải bắt được con ếch đã.

Giả sử nhìn từ trên không, vị trí của mỗi cây trên mặt hồ được xác định bằng một cặp tọa độ (x,y); các cây có tọa độ đôi một phân biệt. Từ cây (x,y) Barica có thể nhảy:

  • Tới cây (x+P,y+P), P nguyên dương. Gọi là hướng A.
  • Tới cây (x+P,y−P), P nguyên dương. Gọi là hướng B.
  • Tới cây (x−P,y+P), P nguyên dương. Gọi là hướng C.
  • Tới cây (x−P,y−P), P nguyên dương. Gọi là hướng D.

Khi đứng ở vị trí (x,y), con ếch chọn một trong bốn hướng và nhảy lên cây đầu tiên theo hướng đã chọn, tức là cây còn tồn tại có P nhỏ nhất. Nếu không có cây nào theo hướng đã chọn, con ếch đứng yên ở đó (lần nhảy này không có tác dụng và cây đang đứng không biến mất). Sau khi con ếch nhảy từ cây ở vị trí (x,y) đi, cây đó sẽ biến mất.

Biết được vị trí của các cây và dãy các hướng mà con ếch đã lựa chọn để nhảy. Peter muốn biết được vị trí cuối cùng của con ếch để đợi sẵn ở đó.

Yêu cầu: Hãy lập trình xác định vị trí cuối cùng của con ếch.

Dữ liệu vào

  • Dòng đầu tiên ghi hai số nguyên N và K (1≤N,K≤105), là số cây và số lần nhảy của con ếch.
  • Dòng thứ hai ghi một xâu gồm K kí tự, mỗi kí tự là A, B, C hoặc D, thể hiện hướng nhảy của con ếch ở từng lần nhảy theo thứ tự.
  • Mỗi dòng trong N dòng tiếp theo chứa hai số nguyên X,Y (0≤X,Y≤109), là tọa độ của một cây. Con ếch bắt đầu nhảy từ cây đầu tiên.

Dữ liệu ra

Ghi ra hai số nguyên cách nhau một dấu cách là tọa độ cuối cùng của con ếch.

Ràng buộc

  • 1≤N,K≤105.
  • 0≤X,Y≤109, các cây có tọa độ đôi một phân biệt.

Subtasks

  • Subtask 1 (30% số điểm, khoảng 40% số test): xâu hướng nhảy chỉ gồm một loại kí tự, tức là con ếch chỉ di chuyển theo hướng A, hoặc chỉ theo hướng B, hoặc chỉ theo hướng C, hoặc chỉ theo hướng D.
  • Subtask 2 (30% số điểm, khoảng 40% số test): tọa độ các cây thỏa mãn 0≤X,Y≤1000.
  • Subtask 3 (40% số điểm, khoảng 20% số test): không có ràng buộc gì thêm.

Mỗi subtask được chấm theo nhóm: chỉ được điểm của subtask khi đúng mọi test thuộc subtask đó.

Ví dụ

Input Output Giải thích
7 5
ACDBB
5 6
8 9
4 13
1 10
7 4
10 9
3 7
7 4 Ếch đi (5,6)→(8,9) (A) →(4,13) (C) →(1,10) (D) →(7,4) (B, cây (5,6) đã biến mất). Lần nhảy B cuối cùng không có cây nên ếch đứng yên tại (7,4).
6 12
AAAAAABCCCDD
1 1
2 2
3 3
4 4
5 3
6 2
5 3 Ba lần A đầu đưa ếch tới (4,4), ba lần A sau không có cây. Lần B tới (5,3); ba lần C không nhảy được vì cây (4,4) đã biến mất; hai lần D cũng không có cây.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0