Điều chỉnh chuỗi

Xem dạng PDF

Gửi bài giải

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

Nguồn bài:
HSG Hòa Bình 2020-2021
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho ~n~ chuỗi ký tự ~S_1, S_2, ..., S_n~ khác rỗng, có độ dài có thể khác nhau và chỉ chứa các chữ cái tiếng Anh in thường.

Bạn có thể thực hiện phép di chuyển sau đây: Lấy một ký tự ~c~ bất kỳ trong chuỗi ~S_i~ và chèn ký tự ~c~ này vào một vị trí bất kỳ trong chuỗi ~S_j~. Sau khi lấy ký tự ~c~ trong chuỗi ~S_i~ , ký tự ~c~ sẽ bị xóa khỏi chuỗi ~S_i (1 \le i, j \le n, i \ne j)~.

Bạn được phép thực hiện di chuyển trên với số lần tùy ý (có thể ~0~ lần).

Hỏi sau khi thực hiện các di chuyển như vậy, bạn có thể làm ~n~ chuỗi ký tự đã cho trở nên hoàn toàn bằng nhau hay không.

Ví dụ:

  • Với ~n = 2, s_1 =~ "abcade", ~s_2 =~ "cbed" thì câu trả lời là YES.
  • Với ~n = 2, s_1 =~ "abcad", ~s_2 = ~"cbed" thì câu trả lời là NO.

Bạn phải trả lời q truy vấn độc lập.

Dữ liệu:

Dòng đầu tiên của đầu vào chứa số nguyên ~q (1 \le q \le 50)~ là số truy vấn. Tiếp theo là ~q~ truy vấn, mỗi truy vấn gồm:

  • Dòng thứ nhất chứa số nguyên dương ~n (1 \le n \le 10)~ là số chuỗi ký tự.
  • Dòng thứ ~i~ trong ~n~ dòng tiếp theo chứa chuỗi ký tự si, chỉ gồm các chữ cái tiếng Anh in thường. Mỗi chuỗi có không quá ~10^4~ ký tự.

Kết quả:

  • Ghi ra q dòng, trong đó dòng thứ i ghi ra từ YES hoặc NO là câu trả lời cho truy vấn thứ ~i~.

Ràng buộc:

  • Có ~70\%~ số test ứng với ~70\%~ số điểm của bài có ~1 \le n \le 2~ và các chuỗi ~s_i (1 \le i \le n)~ có độ dài không quá ~50~.
  • Có ~30\%~ số test ứng với ~30\%~ số điểm của bài có ~1 \le n \le 10~ và các chuỗi ~s_i (1 \le i \le n)~ có độ dài không quá ~10^5~.

Ví dụ:

Sample Input
3
2
aabb 
cc
2
ab
ab
2
ab
a
Sample Output
YES
YES
NO

Giải thích

Trong test ví dụ Có 3 truy vấn:

  • Truy vấn ~1~: ~n = 2, s1 =~ "aabb", ~s2 = ~"cc". Bạn có thể lấy ~1~ ký tự 'a', một ký tự 'b' từ chuỗi ~s_1~ chèn vào ~s_2~, sau đó lấy một ký tự 'c' từ ~s_2~ và chèn vào ~s_1~. Câu trả lời là YES.
  • Truy vấn ~2~: ~n = 2, s1 = s2 =~ "ab" đã hoàn toàn bằng nhau, vì vậy bạn không cần thực hiện di chuyển nào. Câu trả lời là YES.
  • Truy vấn ~3~: ~n = 2, s1 =~"ab" ~s2 = ~"b", bạn không thể thực hiện di chuyển nào để hai chuỗi này trở nên bằng nhau, câu trả lời là NO.

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.