(biendoix.*)
Cho \(n\) xâu kí tự \(s_{1},\ s_{2},\ ...,\ s_{n}\) và một xâu mẫu \(s\) có cùng độ dài \(d\) chỉ gồm các chữ cái thường tiếng Anh. Một phép biến đổi xâu \((i,\ j,\ k)\) thực hiện đổi chỗ kí tự thứ \(k\) của hai xâu \(s_{i}\) và \(s_{j}\ (1\ \leq \ i\ < \ j\ \leq \ n,\ 1 \leq \ k\ \leq \ d)\).
Yêu cầu: Tìm số lượng ít nhất các phép biến đổi xâu cần thực hiện trên \(n\) xâu \(s_{1},\ s_{2},\ ...,\ s_{n}\) để nhận được xâu mẫu \(s\).
Dữ liệu vào:
- Dòng đầu chứa số nguyên \(n\ (2\ \leq \ n\ \leq \ 100)\);
- Trong \(n\) dòng tiếp theo, dòng thứ \(i\ (1\ \leq \ i\ \leq \ n)\) chứa xâu \(s_{i}\) gồm \(d\) chữ cái thường tiếng Anh \((2\ \leq \ d\ \leq \ 100)\);
- Dòng cuối chứa xâu mẫu \(s\) gồm \(d\) chữ cái thường tiếng Anh.
Kết quả:
- Ghi ra Số lượng ít nhất các phép biến đổi xâu cần thực hiện. Trong trường hợp không có phương án tiến hành các phép biến đổi xâu trên \(n\) xâu \(s_{1},\ s_{2},\ ...,\ s_{n}\) để nhận được xâu mẫu s thì ghi số -1.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
3 abc cab bca acb | 2 | - Thực hiện phép biến đổi xâu (1, 3, 2): đổi chỗ kí tự thứ 2 của xâu 1 và 3 nhận được xâu s1= ‘acc’, s3 = ‘bba’; - Thực hiện phép biến đổi xâu (1, 2, 3): đổi chỗ kí tự thứ 3 của xâu 1 và 2 nhận được xâu s1= ‘acb’ chính là xâu mẫu s đã cho. |
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |