BIẾN ĐỔI XÂU

(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}\)\(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.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. trungnam (6/7)
  2. sythai (5/8)
  3. npk1605 (5/10)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]