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