trang chủ / đề bài / dhbb21_11_spell

Ghép chữ

Đề bài

Mô tả

Các bé trường mầm non SuperKids đang chơi trò chơi ghép chữ trên một sân hình chữ nhật kích thước m×n được chia thành lưới ô vuông đơn vị. Các hàng ô đánh số từ 1 tới m từ trên xuống và các cột ô được đánh số từ 1 tới n từ trái qua phải. Ô nằm trên giao của hàng i và cột j được gọi là ô (i,j) và trên đó chứa đúng một chữ cái hoa aij.

Mỗi bé khi chơi được cho trước xâu ký tự S độ dài k chỉ gồm các chữ cái hoa. Bé được chọn một ô để xuất phát và thực hiện trò chơi qua nhiều lượt. Tại mỗi lượt, bé bắt buộc phải di chuyển sang một trong bốn ô kề cạnh với ô đang đứng, sau đó bé được viết ra đúng một chữ cái bằng với chữ cái tại ô vừa tới nếu muốn. Mục đích của bé là viết ra được xâu ký tự S đã cho. Chú ý rằng các chữ cái phải được viết ra lần lượt theo đúng thứ tự trong xâu S và khi tới một ô chỉ được viết ra đúng một chữ cái. Như vậy bé không được viết chữ cái của ô xuất phát khi chưa di chuyển.

Yêu cầu: Hãy giúp bé thực hiện được mục đích của mình trong trò chơi với số lần di chuyển ít nhất. Cho biết số lần di chuyển theo phương án tìm được.

Dữ liệu vào

  • Dòng 1 chứa ba số nguyên dương m,n,k (2≤m,n,k≤300) cách nhau bởi dấu cách.
  • Dòng 2 chứa xâu ký tự S gồm đúng k chữ cái hoa viết liền.
  • m dòng tiếp theo, dòng thứ i chứa n chữ cái hoa liền nhau, chữ cái thứ j là aij.

Dữ liệu đảm bảo rằng mọi ký tự của xâu S đều có mặt trong ít nhất một ô của sân.

Dữ liệu ra

In ra một số nguyên duy nhất là số lần di chuyển ít nhất mà bé cần thực hiện để đạt được mục đích của trò chơi.

Ràng buộc

  • 2≤m,n,k≤300.
  • S và các aij là chữ cái hoa; mọi ký tự của S đều có mặt trên sân.

Subtasks

  • Subtask 1 (30% số điểm): m,n,k≤4.
  • Subtask 2 (30% số điểm): m,n,k≤100.
  • Subtask 3 (40% số điểm): không có ràng buộc bổ sung ngoài các ràng buộc đã nêu trong đề bài.

Ví dụ

Input Output Giải thích
2 4 6
DHDBBB
DHAB
ABBD
7 Bé có thể chọn ô (2,1) để xuất phát, sau đó đi (2,1)→(1,1) viết D, →(1,2) viết H, →(1,1) viết D, →(2,1) không viết, →(2,2) viết B, →(2,3) viết B, →(2,2) viết B: tổng cộng 7 lần di chuyển.
2 2 3
AAB
AB
BB
4 Ví dụ bổ sung (không có trong đề gốc). Chữ A chỉ có ở ô (1,1). Xuất phát tại (1,2): →(1,1) viết A, →(1,2) không viết, →(1,1) viết A, →(1,2) viết B. Muốn viết hai chữ A liên tiếp bé phải rời ô (1,1) rồi quay lại.

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