ĐIỀU CHỈNH CHUỖI

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\ \leq \ i,\ j\ \leq \ n,\ i\
eq \ 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"\), \(s2 = \ "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 vào:

Dòng đầu tiên của đầu vào chứa số nguyên \(q\ (1\ \leq \ q\ \leq \ 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\ \leq \ n\ \leq \ 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ả:

In ra \(q\) dòng, trong đó dòng thứ i ghi ra từ "YES" hoặc "NO" (không có dấu nháy kép) 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 \leq n \leq 2\) và các chuỗi \(s_{i}\) \((1 \leq i \leq 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 \leq n \leq 10\) và các chuỗi \(s_{i}\) \((1 \leq i \leq n)\) có độ dài không quá 105.

Ví dụ:

Dữ liệu vào Kết quả
3
2
aabb
cc
2
ab
ab
2
ab
a
YES
YES
NO

Giải thích 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,\ s_{1} = s_{2} = "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,\ s_{1} = "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ạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. npk1605 (5/10)
  2. sythai (4/5)
  3. hungeazy08 (4/26)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]