trang chủ / bài tập / robomove

Robot di chuyển

Đề bài

Mô tả

Một robot xuất phát tại điểm (0,0) trên mặt phẳng toạ độ. Bạn có một chuỗi lệnh s gồm các ký tự sau:

  • U: đi lên, (x,y)(x,y+1);
  • D: đi xuống, (x,y)(x,y1);
  • L: đi trái, (x1,y);
  • R: đi phải, (x+1,y).

Robot thực hiện các lệnh trong s theo thứ tự từ trái sang phải, sau đó lặp lại vô hạn lần. Vị trí ban đầu (0,0) (trước khi thực hiện bước nào) cũng được tính là một vị trí robot đã ghé qua.

Hãy xác định xem robot có bao giờ đến vị trí (a,b) hay không.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên ab.
  • Dòng thứ hai chứa chuỗi s chỉ gồm các ký tự U, D, L, R.

Dữ liệu ra

In ra Yes nếu robot sẽ ghé qua vị trí (a,b), ngược lại in ra No.

Ràng buộc

  • 109a,b109
  • 1|s|100

Ví dụ

Input Output Giải thích
2 2
RU
Yes Quỹ đạo: (0,0)(1,0)(1,1)(2,1)(2,2), có ghé (2,2).
1 2
RU
No Quỹ đạo cùng dạng trên không bao giờ ghé (1,2).
-1 1000000000
LRRLU
Yes Sau một chu kỳ, vị trí dịch chuyển (0,1). Có thể chứng minh robot ghé (1,109).
0 0
D
Yes Vị trí xuất phát (0,0) đã trùng với điểm cần kiểm tra.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0