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

Robot trên bảng

Đề bài

Mô tả

Một robot đứng trên bảng kẻ ô kích thước n×m (n hàng, m cột). Các hàng được đánh số từ 1 đến n từ trên xuống dưới, các cột từ 1 đến m từ trái qua phải.

Robot có thể di chuyển sang một trong bốn ô kề cạnh với ô hiện tại. Cho một dãy lệnh s gồm các ký tự L, R, D, U tương ứng với di chuyển sang trái, phải, xuống, lên.

Robot có thể bắt đầu ở bất kỳ ô nào trên bảng. Robot thực hiện các lệnh theo đúng thứ tự xuất hiện trong s. Nếu một lệnh khiến robot vượt ra khỏi biên của bảng, robot sẽ rơi và hỏng — lệnh đó được coi là không thực hiện được.

Nhiệm vụ: tìm ô xuất phát sao cho robot có thể thực hiện nhiều lệnh nhất mà không rơi khỏi bảng.

Dữ liệu vào

Dòng đầu chứa số nguyên t — số lượng test.

Với mỗi test:

  • Dòng đầu chứa hai số nguyên nm — kích thước bảng.
  • Dòng thứ hai chứa xâu s gồm các ký tự L, R, D, U — dãy lệnh.

Dữ liệu ra

In ra t dòng, mỗi dòng chứa hai số nguyên rc (1rn, 1cm) — hàng và cột của ô robot nên bắt đầu để thực hiện được nhiều lệnh nhất. Nếu có nhiều ô như vậy, in ra bất kỳ.

Ràng buộc

  • 1t104
  • 1n,m106
  • 1|s|106
  • Tổng độ dài của tất cả s không vượt quá 106.

Ví dụ

Input Output Giải thích
4
1 1
L
1 2
L
3 3
RRDLUU
4 3
LUURRDDLLLUU
1 1
1 2
2 1
3 2
Test 3: bảng 3×3, dãy RRDLUU. Bắt đầu từ (2,1) thực hiện đủ cả 6 lệnh, kết thúc tại (1,2). Test 4: bắt đầu từ (3,2), robot thực hiện hết 12 lệnh.
4
1 1
L
1 1
L
1 3
RRDLUU
8 3
LUURRDDLLLUU
1 1
1 1
1 1
3 2
Test 3: bảng chỉ có 1 hàng nên lệnh D luôn làm robot rơi; tối đa robot thực hiện được 2 lệnh R đầu, bắt đầu từ (1,1).

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