C++ bài 12.D4: Chuỗi hoán vị


Submit solution

Points: 25 (partial)
Time limit: 1.0s
Memory limit: 20M

Author:
Problem type

Chúng ta sẽ gọi một chuỗi thu được bằng cách sắp xếp các ký tự có trong chuỗi \(a\) theo một thứ tự nào đó là một hoán vị của \(a\).

Ví dụ, 'greenbin' là một hoán vị của 'beginner'. Như đã thấy, khi cùng một ký tự xuất hiện nhiều lần, ký tự đó phải được sử dụng đúng số lần đó.

Cho trước \(N\) chuỗi \(s_1, s_2, \dots, s_N\). Mỗi chuỗi này có độ dài là \(10\) và bao gồm các ký tự chữ cái thường. Ngoài ra, tất cả các chuỗi này đều khác nhau. Tìm số cặp số nguyên \(i, j\) \((1 \leq i<j \leq N)\) sao cho \(s_i\) là một hoán vị của \(s_j\).

Ràng buộc:

  • \(2 \leq N \leq 10^5\)
  • \(s_i\) là chuỗi có độ dài \(10\).
  • Mỗi ký tự trong \(s_i\) là một chữ cái thường.
  • Các chuỗi \(s_1, s_2, \dots, s_N\) đều khác nhau.

ĐỊNH DẠNG ĐẦU VÀO

Đầu vào được cung cấp từ đầu vào chuẩn như sau:

N
s_1
s_2
:
s_N

ĐỊNH DẠNG ĐẦU RA

In ra số cặp số nguyên \(i, j\) \((1 \leq i<j \leq N)\) sao cho \(s_i\) là một hoán vị của \(s_j\).

Ví dụ:

Input
3
acornistnt
peanutbomb
constraint
Output
1

\(s_1 = acornistnt\) là một hoán vị của \(s_3 = constraint\). Không có cặp \(i, j\) nào khác mà \(s_i\) là một hoán vị của \(s_j\), vậy câu trả lời là \(1\).

Input
2
oneplustwo
ninemodsix
Output
0

Nếu không có cặp \(i, j\) nào sao cho \(s_i\) là một hoán vị của \(s_j\), hãy in ra \(0\).

Giải thích ví dụ mẫu:

  • Ví dụ 1:

    • Có 1 cặp chuỗi mà một chuỗi là hoán vị của chuỗi còn lại: "acornistnt" và "constraint".
  • Ví dụ 2:

    • Không có cặp chuỗi nào là hoán vị của nhau.

Lời giải bài tập này: Tại đây

Group giải đáp thắc mắc: Lập trình 24h

Fanpage CLB: CLB lập trình Full House- Việt Nam

Youtube: CLB Lập Trình Full House


Comments

There are no comments at the moment.