DHBB 2023 - CVP - 10 - Cconvert
Xem dạng PDFTrong 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
Tấm đang có ~2~ xâu kí tự là ~S~ và ~T~ cùng với một bộ từ điển ~N~ xâu kí tự có cùng độ dài ~K~. Tấm muốn tìm cách sử dụng bộ từ điển này để biến đổi từ xâu ~S~ sang xâu ~T~ sao cho số lượng phép chuyển đổi là nhỏ nhất có thể.
Một xâu kí tự ~X~ có thể chuyển đổi sang xâu kí tự ~Y~ cùng độ dài nếu ~2~ xâu chỉ khác nhau đúng một vị trí duy nhất. Ví dụ ~X =~ abcd và ~Y =~ abdc không thể chuyển đổi cho nhau vì chúng khác nhau ở kí tự thứ ~3~ và ~4~. ~X =~ abcd và ~Y =~ abce có thể chuyển đổi cho nhau vì chúng chỉ khác nhau ở kí tự thứ ~4~.
Input
Dòng đầu tiên: chứa hai số nguyên ~N, K~ ~(1 \le K \le 20)~.
Dòng thứ hai: chứa xâu ~S~ độ dài ~K~.
Dòng thứ ba: chứa xâu ~T~ độ dài ~K~.
~N~ dòng tiếp theo: chứa ~N~ xâu độ dài ~K~ trong từ điển.
Tất cả các xâu ký tự chỉ chứa các ký tự latin từ 'a' đến 'z'.
Output
Gồm ~2~ số nguyên ~x~ và ~y~, trong đó ~x~ là số lượng phép chuyển đổi ít nhất cần thực hiện, ~y~ là số cách biến đổi khác nhau với ~x~ phép chuyển đổi để chuyển đổi từ xâu ~S~ sang xâu ~T~. Vì số lượng cách chuyển đổi có thể rất lớn nên bạn chỉ cần in ra theo modulo ~10^9 + 7~. Nếu không có đáp án ghi ra hai số ~-1\ -1~.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~30\%~ | ~N \le 10~ |
| 2 | ~30\%~ | ~N \le 200~ |
| 3 | ~40\%~ | ~N \le 2000~ |
Sample Input 1
2 3
abc
add
abd
adc
Sample Output 1
2 2
Notes
Phải thực hiện ít nhất ~2~ phép biến đổi để chuyển từ ~S =~ abc sang ~T =~ add và có ~2~ phép biến đổi sử dụng ~2~ phép biến đổi: abc ~\rightarrow~ abd ~\rightarrow~ add hoặc abc ~\rightarrow~ adc ~\rightarrow~ add.
Bình luận