[Thanh Hoá - 23] Biến đổi xâu


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 256M

Problem type

Cho xâu S = S1S2 ... Si ... Sj ... Sn (1 ≤ i ≤ j ≤ n) chỉ gồm các chữ cái tiếng Anh in thường.

Một phép biến đổi xâu ban đầu thành một xâu mới có kí tự các kí tự ngược lại so với xâu ban đầu. Ví dụ: "ten" đảo ngược thành "net", "time" đảo ngược thành "emit".

Mỗi lần áp dụng đảo ngược xâu trên một xâu con liên tiếp từ vị trí thứ i đến vị trí thứ j của xâu S sẽ thu được xâu S' = S1S2 ... Sj ... Si ... Sn.

Gọi M là tập hợp các S'.

Yêu cầu: Tính số lượng các xâu khác nhau trong tập hợp M.

Dữ liệu: vào từ file BDX.INP gồm một dòng là xâu S (độ dài không quá 2 * 105)

Kết quả: ghi ra file BDX.OUT gồm một số nguyên là kết quả của bài toán.

Ví dụ:

BDX.INP: tent
BDX.OUT: 6

Giải thích: Tập M gồm: tent, etnt, nett, tnet, ttne, tetn.


Ràng buộc:

  • 50% số điểm có 1 ≤ n ≤ 100
  • 50% số điểm có 102 < n ≤ 2 * 105.

Comments

There are no comments at the moment.