Time limit: 1.0s , Memory limit: 256M , Points: 3000 (partial)
Cho hai xâu và đều có độ dài , xâu chỉ bao gồm các ký tự chữ số từ 0 đến 9.
Cho danh sách gồm xâu may mắn, mỗi xâu đều có độ dài và chỉ bao gồm các ký tự chữ số từ 0 đến 9.
Thực hiện thao tác sau trên xâu :
- Chọn một ký tự thứ của xâu và thay thế nó bằng ký tự liền kề ở sau 0 ->1, 1 -> 2, , 8 -> 9, 9 -> 0 hoặc thay thế nó bằng ký tự liền kề ở trước 9 ->8, 8 -> 7, , 1 -> 0, 0 -> 9.
Lưu ý rằng sau mỗi thao tác thực hiện, xâu mới thu được, hoặc là xâu , hoặc là một xâu may mắn nằm trong danh sách đã cho.
Bạn hãy xác định số lần thực hiện thao tác ít nhất để biến đổi xâu trở thành xâu .
Input
- Dòng đầu tiên chứa hai số nguyên và .
- 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, mỗi dòng chứa một xâu may mắn độ dài .
- Dữ liệu đảm bảo các xâu đã cho đều chỉ chứa các ký tự chữ số từ 0 đến 9.
Output
- In ra số lần thực hiện thao tác ít nhất để biến đổi xâu trở thành xâu . Nếu không thể biến đổi xâu thành xâu , in ra :(
Examples
Sample Input 1
4 5
1337
1234
1236
2234
1336
1235
0234
Sample Output 1
4
Sample Input 2
4 1
1234
1237
1235
Sample Output 2
:(
Scoring
- Subtask điểm:
- Subtask điểm:
- Subtask điểm:
- Subtask điểm:
- Subtask điểm:
- Subtask điểm:
- Subtask điểm:
Comments