Điều chỉnh chuỗi

View as PDF

Submit solution

Points: 0.15 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem source:
HSG Hòa Bình 2020-2021
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, 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.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.