Đổi tên hàng loạt
Đề bài
Mô tả
Một chương trình có biến. Biến thứ hiện có tên và cần được đổi thành tên . Với mỗi biến, độ dài tên hiện tại bằng độ dài tên đích: .
IDE cung cấp đúng một lệnh "đổi tên hàng loạt". Để dùng lệnh này, bạn chọn hai xâu và , rồi lệnh được áp dụng cho tất cả các biến theo quy tắc sau: nếu tên biến chứa như một xâu con thì lần xuất hiện đầu tiên (và chỉ lần đầu tiên) của trong tên đó được thay bằng ; nếu tên biến không chứa thì tên đó giữ nguyên.
Bạn phải thực hiện việc đổi tên cho tất cả các biến bằng đúng một lần gọi lệnh "đổi tên hàng loạt", tức là tồn tại một cặp sao cho sau khi áp dụng quy tắc trên, mỗi biến có tên biến thành đúng . Hãy tìm một cặp như vậy hoặc khẳng định là không thể.
Dữ liệu đảm bảo có ít nhất một biến mà tên đích khác tên hiện tại.
Dữ liệu vào
- Dòng đầu chứa số nguyên .
- dòng tiếp theo, dòng thứ chứa xâu (tên hiện tại).
- dòng tiếp theo, dòng thứ chứa xâu (tên đích).
Tất cả các xâu chỉ gồm chữ cái latin thường.
Dữ liệu ra
Nếu không thể đổi tên tất cả các biến bằng một lần gọi lệnh, in ra NO.
Ngược lại, in ra YES ở dòng đầu, sau đó hai dòng chứa lần lượt và (), là cặp xâu dùng cho việc thay thế. Cả và chỉ gồm chữ cái latin thường.
Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 bab cac cdc bdb cdc cdc |
YES a d |
Chọn a, d. Biến 1: bab chứa a, thay lần đầu thành bdb. Biến 2: cac thành cdc. Biến 3: cdc không chứa a, giữ nguyên cdc. |
| 2 you shal not pass |
NO | Không có cặp nào biến đồng thời you thành not và shal thành pass. |
| 1 topforces codecoder |
YES topforces codecoder |
Chỉ có một biến, thay toàn bộ tên. |
Bình luận