Cconvert
Đề bài
Mô tả
Tấm đang có xâu kí tự là và cùng với một bộ từ điển xâu kí tự có cùng độ dài . Tấm muốn tìm cách sử dụng bộ từ điển này để biến đổi từ xâu sang xâu sao cho số lượng phép chuyển đổi là nhỏ nhất có thể.
Một xâu kí tự có thể chuyển đổi sang xâu kí tự cùng độ dài nếu xâu chỉ khác nhau đúng một vị trí duy nhất. Ví dụ và không thể chuyển đổi cho nhau vì chúng khác nhau ở kí tự thứ và . và có thể chuyển đổi cho nhau vì chúng chỉ khác nhau ở kí tự thứ .
Một cách biến đổi là một dãy , trong đó mỗi xâu trung gian là một xâu trong từ điển và mỗi bước là một phép chuyển đổi. Xâu không cần có trong từ điển. Nếu chuyển đổi được trực tiếp sang thì chỉ cần phép chuyển đổi. Hai cách biến đổi khác nhau nếu dãy xâu của chúng khác nhau.
Dữ liệu vào
- Dòng đầu tiên: chứa hai số nguyên .
- Dòng thứ hai: chứa xâu độ dài .
- Dòng thứ ba: chứa xâu độ dài .
- dòng tiếp theo: chứa xâu độ dài 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'. , các xâu trong từ điển đôi một khác nhau và khác , .
Dữ liệu ra
Gồm số nguyên và , trong đó là số lượng phép chuyển đổi ít nhất cần thực hiện, là số cách biến đổi khác nhau với phép chuyển đổi để chuyển đổi từ xâu sang xâu . 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 . Nếu không có đáp án ghi ra hai số .
Ràng buộc
- số test: .
- số test: .
- số test: .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 3 abc add abd adc |
2 2 | Phải thực hiện ít nhất phép biến đổi để chuyển từ sang và có cách sử dụng phép biến đổi: hoặc . |
| 4 3 abc abd abe aed xbc xbd |
1 1 | Ví dụ thêm. chỉ khác ở vị trí thứ nên chuyển đổi trực tiếp, đây là cách duy nhất với phép chuyển đổi. |
| 3 4 abcd abdc abce xbdc zzzz |
-1 -1 | Ví dụ thêm. Từ chỉ đi được tới , từ đó không đi tiếp được, nên không biến đổi được sang . |
Bình luận