Khảo cổ tầng 80
Đề bài
Mô tả
Một ổ khóa cổ gồm từ, mỗi từ là một dãy các ký tự tượng hình. Bảng chữ cái tượng hình gồm ký tự, đánh số từ đến (ký tự là nhỏ nhất, ký tự là lớn nhất).
Bên cạnh ổ khóa có một núm xoay. Mỗi lần xoay núm theo chiều kim đồng hồ sẽ thay mọi ký tự tượng hình bằng ký tự kế tiếp trong bảng chữ cái: ký tự (với ) trở thành ký tự , còn ký tự trở thành ký tự . Như vậy, sau lần xoay, một ký tự có giá trị sẽ trở thành ký tự .
Cửa chỉ mở khi dãy từ được sắp xếp theo thứ tự từ điển, tức là mỗi từ (trừ từ cuối) không lớn hơn từ đứng ngay sau nó theo thứ tự từ điển.
Từ được coi là không lớn hơn từ theo thứ tự từ điển nếu một trong hai điều sau xảy ra:
- Tại vị trí đầu tiên mà , ta có đứng trước trong bảng chữ cái (tức );
- Không tồn tại vị trí như vậy và (tức từ thứ nhất là tiền tố của từ thứ hai, hoặc hai từ bằng nhau).
Hãy xác định số lần xoay núm theo chiều kim đồng hồ để mở được cửa, hoặc kết luận rằng điều đó là không thể.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số từ trên ổ khóa và số ký tự tượng hình khác nhau.
- Trong dòng tiếp theo, dòng thứ bắt đầu bằng số nguyên là độ dài của từ thứ , tiếp theo là số nguyên là các ký tự tạo thành từ đó.
Dữ liệu ra
In ra một số nguyên () là số lần xoay cần thiết để mở cửa. Nếu có nhiều giá trị hợp lệ, in ra một giá trị bất kỳ.
Nếu không thể mở cửa bằng cách này, in ra .
Ràng buộc
- , và tổng độ dài của tất cả các từ không vượt quá
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 2 3 2 1 1 3 2 3 1 4 2 3 1 2 |
1 | Sau lần xoay, các từ trở thành: [1 3], [2], [3 1 2], [3 1 2 3]. Dãy này đã được sắp xếp theo thứ tự từ điển. |
| 2 5 2 4 2 2 4 2 |
0 | Hai từ giống hệt nhau nên dãy đã được sắp xếp sẵn, không cần xoay. |
| 4 4 1 2 1 3 1 4 1 2 |
-1 | Bốn từ một ký tự [2], [3], [4], [2]. Không có số lần xoay nào khiến cả dãy được sắp xếp, vì từ cuối luôn nhỏ hơn từ ngay trước nó. |
Bình luận