trang chủ / đề bài / kingpath

Đường đi ngắn nhất của vua

Đề bài

Mô tả

Quân vua đứng một mình trên bàn cờ vua 8×8. Nó cần di chuyển từ ô s đến ô t với số nước đi ít nhất.

Trong một nước đi, quân vua có thể di chuyển sang một ô có chung cạnh hoặc chung đỉnh với ô hiện tại (thông thường có 8 ô như vậy).

Mỗi nước đi được mô tả bằng một trong 8 ký hiệu: L (trái), R (phải), U (lên), D (xuống), và các tổ hợp hai chữ LU, LD, RU, RD cho các nước đi chéo. Ở đây "trái/phải" là giảm/tăng chữ cái cột, "lên/xuống" là tăng/giảm chữ số hàng. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Dữ liệu vào

  • Dòng đầu chứa tọa độ ô s.
  • Dòng thứ hai chứa tọa độ ô t.

Tọa độ mỗi ô gồm hai ký tự: ký tự đầu là chữ cái Latin thường (từ a đến h) chỉ cột, ký tự sau là chữ số (từ 1 đến 8) chỉ hàng.

Dữ liệu ra

  • Dòng đầu in số nguyên n: số nước đi ít nhất của quân vua.
  • n dòng tiếp theo, mỗi dòng in một nước đi theo ký hiệu ở trên.

Ràng buộc

  • s và t là các ô hợp lệ trên bàn cờ 8×8; s có thể trùng t (khi đó n=0).

Ví dụ

Input Output Giải thích
a8
h1
7
RD
RD
RD
RD
RD
RD
RD
Từ a8 đến h1 cần sang phải 7 cột và xuống 7 hàng, đi chéo RD cả 7 nước.
h4
d1
4
LD
LD
LD
L
Sang trái 4 cột, xuống 3 hàng: 3 nước chéo LD rồi 1 nước L. Mọi đường đi 4 nước hợp lệ khác đều được chấp nhận.

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