Pokemon khắp mọi nơi
Đề bài
Mô tả
Có một dãy gồm căn hộ xếp thành hàng từ trái sang phải, đánh số từ đến . Mỗi căn hộ chứa đúng một con Pokemon thuộc một loại nào đó, loại của con Pokemon ở căn hộ thứ được ký hiệu bằng một chữ cái Latinh (phân biệt chữ hoa và chữ thường).
Người chơi được phép đi vào một căn hộ bất kỳ, sau đó chỉ được di chuyển sang căn hộ liền kề bên trái hoặc bên phải, và không được vào lại một căn hộ đã đi qua. Vì vậy các căn hộ được thăm luôn tạo thành một đoạn liên tiếp trên hàng.
Hãy tìm số căn hộ ít nhất cần thăm sao cho thu thập được tất cả các loại Pokemon xuất hiện trong dãy.
Dữ liệu vào
- Dòng đầu chứa số nguyên : số căn hộ.
- Dòng thứ hai chứa xâu độ dài gồm các chữ cái Latinh hoa và thường, ký tự thứ là loại Pokemon ở căn hộ thứ .
Dữ liệu ra
In ra một số nguyên: số căn hộ ít nhất cần thăm để thu thập đủ mọi loại Pokemon xuất hiện trong dãy.
Ràng buộc
- chỉ gồm các chữ cái Latinh hoa và thường (tối đa loại khác nhau).
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 AaA |
2 | Có loại: A và a. Đoạn ngắn nhất chứa cả hai là hai căn hộ đầu (AaA lấy vị trí ). |
| 7 bcAAcbc |
3 | Có loại: b, c, A. Đoạn từ vị trí đến (Acb) chứa đủ cả ba loại, dài . |
| 6 aaBCCe |
5 | Có loại: a, B, C, e. Bắt buộc phải đi từ vị trí đến (aBCCe), dài . |
Bình luận