Không hỗ trợ Mobile

Chế độ luyện tập yêu cầu môi trường màn hình lớn để làm bài và chống gian lận hiệu quả. Vui lòng truy cập bằng máy tính (Desktop/Laptop) để tiếp tục thao tác.

Quay lại trang chủ

#2034 · Cuộc Đua Săn Voucher

Cơ sở Thủ Đức HUTECH đang tổ chức một sự kiện lớn mang tên "Truy tìm kho báu" nhân dịp ngày hội chào hè 2026. Khuôn viên trường được chia thành một bản đồ dạng lưới tọa độ khổng lồ gồm H hàng (từ Bắc xuống Nam) và W cột (từ Tây sang Đông). Vị trí ở hàng thứ i và cột thứ j được gọi là ô (i,j).

Bạn bắt đầu xuất phát từ cổng chính của trường ở tọa độ (1,1) và đích đến cuối cùng là sân khấu trung tâm nằm ở tọa độ (H,W). Ban tổ chức đã rải sẵn N chiếc thẻ Voucher (có thể đổi lấy trà sữa hoặc áo thun của trường) tại các vị trí (R_i, C_i) khác nhau trên bản đồ.

Tuy nhiên, thời gian sự kiện có hạn nên giám thị có một quy định khắt khe: Từ ô hiện tại, bạn chỉ được phép bước sang ô bên phải (tiến về phía Đông, kí hiệu là R - Right) hoặc bước xuống ô bên dưới (tiến về phía Nam, kí hiệu là D - Down). Bạn không được phép đi ngược lại để tránh đụng trúng các đội chơi khác ở phía sau.

Là sinh viên tham gia giải đấu, bạn không muốn đi mò mẫm. Bạn quyết định viết một thuật toán để tìm ra lộ trình di chuyển từ (1,1) đến (H,W) sao cho thu thập được nhiều thẻ Voucher nhất có thể. Đồng thời, chương trình cũng phải in ra luôn cả "bản đồ chỉ đường" (chuỗi hành động) để bạn và đồng đội cứ thế mà chạy theo.

Dữ liệu vào

  • Dòng đầu tiên chứa 3 số nguyên H,W (kích thước khuôn viên trường, 2≤H,W≤2×10^5) và N (số lượng Voucher, tối đa 2×10^5).
  • N dòng tiếp theo, mỗi dòng chứa tọa độ (R_i, C_i) của một chiếc Voucher. Đảm bảo không có thẻ nào nằm ở vị trí xuất phát (1,1) hoặc đích đến (H,W).

Dữ liệu ra

In ra 2 dòng:

  • Dòng 1: Một số nguyên duy nhất là số lượng thẻ Voucher nhiều nhất bạn có thể nhặt được.
  • Dòng 2: Một chuỗi ký tự có độ dài chính xác là H+W−2 bao gồm toàn các ký tự D (đi xuống) và R (đi sang phải) thể hiện lộ trình di chuyển tối ưu đó.

Lưu ý: Nếu có nhiều lộ trình cùng thu được lượng Voucher tối đa như nhau, bạn in ra lộ trình nào cũng được

BẢNG TỔNG QUAN KẾT QUẢ

# Tài khoản Kết suất Lúc nộp
1
127 ms 9164 KB
1973 Bytes
30/05/2026
11:15
2
144 ms 8380 KB
1452 Bytes
26/05/2026
15:26
3
J
JF1P @codewar2026_trteam34
160 ms 5496 KB
1578 Bytes
27/05/2026
21:03
4
K
KTLT3 @codewar2026_trteam32
161 ms 5484 KB
1578 Bytes
27/05/2026
21:00

LỊCH SỬ CÁ NHÂN

Vui lòng đăng nhập để xem lịch sử làm bài của bạn.

THẢO LUẬN BÀI TOÁN

Chưa có thảo luận nào cho bài này.

GỢI Ý & HƯỚNG DẪN

Giải thích ví dụ 1: Giả sử bản đồ trường có kích thước 3×4 tức (H=3,W=4) và có 4 chiếc Voucher nằm rải rác.

Chiến thuật tối ưu: Bạn sẽ xuất phát từ cổng (1,1) và di chuyển theo lộ trình DRRDR. Giải thích lộ trình:

  • Xuất phát tại (1,1).
  • Đi xuống D đến ô (2,1) → Nhặt được 1 Voucher.
  • Đi sang phải R đến ô (2,2).
  • Đi sang phải R đến ô (2,3) → Nhặt được thêm 1 Voucher.
  • Đi xuống D đến ô (3,3) → Nhặt được thêm 1 Voucher.
  • Đi sang phải R đến đích (3,4).

Kết quả: Với lộ trình DRRDR bạn sẽ nhặt được số lượng tối đa là 3 chiếc Voucher

Viết code