Cặp mật khẩu phản chiếu

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Một hệ thống lưu ~n~ mật khẩu, mỗi mật khẩu là một xâu chữ cái thường. Hai mật khẩu ở hai vị trí khác nhau có thể được ghép lại theo thứ tự để tạo thành một mật khẩu mới.

Một mật khẩu mới được gọi là phản chiếu nếu xâu sau khi ghép là xâu đối xứng.

Yêu cầu

Hãy đếm số cặp có thứ tự ~(i, j)~ sao cho:

  • ~1 \le i, j \le n~.
  • ~i \ne j~.
  • Xâu ~s_i + s_j~ là xâu đối xứng.

Ở đây ~s_i + s_j~ là xâu nhận được bằng cách ghép ~s_j~ vào sau ~s_i~.

Dữ liệu

Dữ liệu vào từ chuẩn gồm:

  • Dòng đầu tiên chứa số nguyên ~n~.
  • Dòng thứ ~i~ trong ~n~ dòng tiếp theo chứa mật khẩu ~s_i~.

Kết quả

Ghi ra một số nguyên duy nhất là số cặp có thứ tự thỏa mãn.

Ví dụ

Ví dụ 1

Input

5
bat
tab
cat
t
tt

Output

4
Ví dụ 2

Input

3
a
a
aa

Output

6

Giải thích

Ví dụ 1

Các cặp hợp lệ là ~(\text{bat}, \text{tab})~, ~(\text{tab}, \text{bat})~, ~(\text{t}, \text{tt})~ và ~(\text{tt}, \text{t})~.

Ví dụ 2

Hai mật khẩu ~\text{a}~ nằm ở hai vị trí khác nhau. Mọi cách chọn hai vị trí khác nhau trong ba mật khẩu đều tạo ra xâu đối xứng sau khi ghép.

Ràng buộc và chấm điểm

Ràng buộc
  • ~1 \le n \le 2 \cdot 10^5~.
  • ~1 \le |s_i|~ với mọi ~1 \le i \le n~.
  • Tổng độ dài các mật khẩu không vượt quá ~2 \cdot 10^5~.
  • Các mật khẩu chỉ gồm chữ cái tiếng Anh thường từ ~\text{a}~ đến ~\text{z}~.
Chấm điểm
  • Subtask~1~ ~(20\%)~: ~n \le 500~ và tổng độ dài không vượt quá ~5000~.
  • Subtask~2~ ~(30\%)~: mọi mật khẩu có cùng độ dài.
  • Subtask~3~ ~(50\%)~: không có ràng buộc bổ sung.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.