[CSP - PreTS10 - 2025] Bài 3: Robot

Xem dạng PDF

Gửi bài giải


Điểm: 20,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Trong một thành phố tương lai, các robot có khả năng tự học hỏi và phát triển kỹ năng ngôn ngữ để giao tiếp với con người. Một trong số đó là Robot Alpha, một robot tiên tiến nhưng gặp vấn đề trong việc nhận diện và sắp xếp thông tin văn bản. Để giúp Alpha cải thiện khả năng này, một bài kiểm tra đặc biệt đã được thiết kế. Robot Alpha sẽ được cung cấp một chuỗi dữ liệu hỗn loạn và cần phải tái tạo lại một chuỗi mục tiêu đã được mã hóa. Tuy nhiên, Alpha không thể tự do nhập ký tự mà phải tuân theo quy tắc di chuyển đặc biệt.

Cách Robot Alpha hoạt động:

  • Di chuyển liền kề: Alpha có thể di chuyển đến ký tự kề bên trái hoặc kề bên phải trong chuỗi hiện tại và sao chép ký tự đó vào kết quả.
  • Di chuyển bằng kết nối dữ liệu: Alpha có thể dịch chuyển đến bất kỳ vị trí nào trong chuỗi có cùng ký tự với vị trí hiện tại mà không cần sao chép ký tự vào kết quả. Điều này giúp Alpha di chuyển nhanh hơn mà không thay đổi nội dung của kết quả.

Việc di chuyển tốn ~|x - y|~ giây, trong đó ~x~ và ~y~ là vị trí của ký tự ban đầu và ký tự mới.

Yêu cầu: Alpha phải tạo ra chuỗi mã hóa mục tiêu trong thời gian ngắn nhất.

Input

  • Dòng đầu tiên chứa một số nguyên ~n, m~ (~1 \le n, m \le 3000~).
  • Dòng thứ hai chứa ~n~ kí tự in thường, là chuỗi dữ liệu hỗn loạn ban đầu.
  • Dòng thứ ba chứa chuỗi mục tiêu được mã hóa.

Output

  • Ghi ra thời gian ngắn nhất. Nếu không tạo được chuỗi mục tiêu thì in ra ~-1~.

Sample Input 1

2 2
Wa
ac

Sample Output 1

-1

Sample Input 2

10 5
Doofenferb
feren

Sample Output 2

7

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.