trang chủ / đề bài / palinpair

Cặp hoán vị-đối xứng

Đề bài

Mô tả

Cho một mảng gồm N xâu, mỗi xâu chỉ gồm các chữ cái Latin thường ('a' đến 'z').

Một cặp hoán vị-đối xứng là một cặp xâu (i,j) (với i≠j) sao cho tồn tại ít nhất một hoán vị của xâu ghép si+sj là một xâu đối xứng (đọc xuôi và đọc ngược đều như nhau).

Ví dụ, với hai xâu "aab" và "abcac", xâu ghép "aababcac" có một hoán vị là "aabccbaa" — đây là xâu đối xứng, nên cặp này được tính.

Hãy đếm số cặp hoán vị-đối xứng trong mảng. Hai cặp được coi là khác nhau nếu chúng nằm ở các vị trí chỉ số khác nhau; cặp (i,j) và (j,i) được coi là một cặp.

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương N — số phần tử của mảng.
  • N dòng tiếp theo, mỗi dòng chứa một xâu gồm các chữ cái Latin thường.

Dữ liệu ra

  • In ra một số nguyên — số cặp hoán vị-đối xứng trong mảng.

Ràng buộc

  • 1≤N≤100000
  • Tổng số ký tự của tất cả các xâu trong mảng nhỏ hơn 1000000.

Ví dụ

Input Output Giải thích
3
aa
bb
cd
1 Chỉ có cặp aa + bb → hoán vị abba là xâu đối xứng. Xâu cd có số lượng lẻ của cả 'c' lẫn 'd' nên không ghép được với ai.
6
aab
abcac
dffe
ed
aa
aade
6 Sáu cặp: (aab, abcac), (aab, aa), (abcac, aa), (dffe, ed), (dffe, aade), (ed, aade).

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0