PHÂN HẠNG NGỌC TRAI

Bài tập chưa có test

Một chuỗi ngọc trai ~S~ gồm ~N~ hạt được xâu lại với nhau, các hạt được đánh số từ 1 đến ~N~, mỗi hạt có một màu xác định được mã hóa bằng một chữ cái in hoa trong bảng chữ cái tiếng Anh. Hai đoạn ngọc trai trong ~S~ là giống nhau khi độ dài của chúng bằng nhau và màu của các cặp hạt tương ứng theo thứ tự xuất hiện trong hai đoạn cũng hoàn toàn giống nhau. Ví dụ hai đoạn ~AB~ và ~AB~ là giống nhau nhưng ~AB~ và ~BA~ thì không giống nhau. Hạng của chuỗi ngọc trai ~S~ là một số nguyên dương ~K~ nhỏ nhất sao cho không tồn tại hai đoạn ngọc trai bất kỳ giống nhau có độ dài ~K~.

Yêu cầu:

Hãy xác định hạng của một chuỗi ngọc trai ~S~.

Dữ liệu vào

• Dòng đầu tiên chứa số nguyên dương ~N~ là số hạt trong chuỗi ngọc trai ~S~. • Dòng thứ hai ghi ~N~ ký tự liên tiếp thể hiện lần lượt là màu của từng hạt trong ~S~.

Kết quả

Ghi ra một số duy nhất là hạng của chuỗi ~S~.

Ràng buộc

• Có 50% số điểm tương ứng với ~N ≤ 100~ • Có 30% số điểm tương ứng với ~100 < N ≤ 1000~ • Có 20% số điểm tương ứng với ~1000 < N ≤ 10^4~

Ví dụ:

Input

5
AABAA 

Output

3 
Giải thích: Chuỗi ngọc trai ~AABAA~ không thể xếp hạng 2 vì có hai đoạn ngọc trai độ dài 2 giống nhau. Tất cả các đoạn ngọc trai có độ dài 3 là: ~AAB, ABA,BAA~ chúng hoàn toàn phân biệt nên hạng của nó là 3.

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

hpcode.edu.vn
Code tích cực
Trong 24h
  1. baonguyen (13/28)
  2. qtaydzs1tg (11/37)
  3. tuanmanh123 (8/21)
Trong 7 ngày
  1. nongvantien11 (99/155)
  2. qtaydzs1tg (76/162)
  3. nnminh1806 (38/75)
Trong 30 ngày
  1. nongvantien11 (192/300)
  2. trungo0 (131/242)
  3. ngocbichh (110/267)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 41115

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