Thông điệp (THT B Vòng Sơ loại Toàn quốc 2026 - Lần 2)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2200 (p) Thời gian: 2.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Trong hội trại năm nay, trường của Alice tổ chức một trò chơi đi tìm thông điệp. Theo bản đồ hướng dẫn của Ban tổ chức, các bạn học sinh sẽ tìm đến \(3\) địa điểm. Tại mỗi địa điểm, các bạn nhận được một phong bì chứa một tấm thiệp. Trên thiệp ghi một xâu ký tự gồm các chữ cái in thường, và cả \(3\) xâu đều có cùng độ dài \(n\).

Gọi xâu trong phong bì thứ nhất là \(X\), xâu trong phong bì thứ hai là \(Y\) và xâu trong phong bì thứ ba là \(Z\). Thông điệp mà các bạn học sinh cần tìm là \(3\) xâu \(A, B\)\(C\) được giấu trong \(3\) xâu \(X, Y, Z\) theo quy tắc sau:

  • Xâu \(X\) có dạng *A*B*;
  • Xâu \(Y\) có dạng *C*A*;
  • Xâu \(Z\) có dạng *B*C*.

Trong đó, dấu * đại diện cho một xâu bất kỳ, có thể là xâu rỗng. Các xâu \(A, B\)\(C\) hoàn toàn có thể là xâu rỗng.

Ví dụ: Nếu có thông điệp \(A =\) "ab", \(B =\) "cd", \(C =\) "ef" thì:

  • \(X\) có thể là "oabgcdpo" (chứa "ab" là \(A\), rồi đến "cd" là \(B\));
  • \(Y\) có thể là "hefhabro" (chứa "ef" là \(C\), rồi đến "ab" là \(A\));
  • \(Z\) có thể là "kcdjefgh" (chứa "cd" là \(B\), rồi đến "ef" là \(C\)).

Yêu cầu: Cho trước ba xâu \(X, Y\)\(Z\). Hãy tìm \(3\) xâu \(A, B\)\(C\) thỏa mãn điều kiện giấu thông điệp sao cho tổng độ dài của cả \(3\) xâu \((|A| + |B| + |C|)\) là lớn nhất có thể.

Input

  • Dòng đầu tiên ghi số nguyên \(n\) (\(n \ge 2\));
  • Dòng thứ hai chứa xâu \(X\);
  • Dòng thứ ba chứa xâu \(Y\);
  • Dòng thứ tư chứa xâu \(Z\).

(Dữ liệu đảm bảo tất cả các xâu đều có độ dài đúng bằng \(n\) và chỉ gồm các chữ cái latin in thường).

Output

  • Ghi ra một số nguyên duy nhất là tổng độ dài lớn nhất của \(3\) xâu \(A, B\)\(C\) tìm được.

Example

Test 1

Input
3
abc
cde
dea
Output
2
Note

Phương án tối ưu là chọn \(A =\) "", \(B =\) "" và \(C =\) "de". Tổng độ dài là \(0 + 0 + 2 = 2\).
Kiểm tra tính hợp lệ:

  • \(X =\) "abc" chứa \(A\) rồi tới \(B\) (hai xâu rỗng được coi là xuất hiện ở mọi vị trí);
  • \(Y =\) "cde" chứa \(C =\) "de" rồi tới \(A =\) "";
  • \(Z =\) "dea" chứa \(B =\) "" rồi tới \(C =\) "de".

Test 2

Input
4
agtb
icea
tbhc
Output
4
Note

Phương án tối ưu là chọn \(A =\) "a", \(B =\) "tb" và \(C =\) "c". Tổng độ dài là \(1 + 2 + 1 = 4\).
Kiểm tra tính hợp lệ:

  • \(X =\) "agtb" chứa "a" là \(A\) rồi tới "tb" là \(B\);
  • \(Y =\) "icea" chứa "c" là \(C\) rồi tới "a" là \(A\);
  • \(Z =\) "tbhc" chứa "tb" là \(B\) rồi tới "c" là \(C\).

Scoring

  • \(20\%\) số test tương ứng với \(20\%\) số điểm của bài thỏa mãn: \(n \le 200\);
  • \(80\%\) số test còn lại tương ứng với \(80\%\) số điểm của bài thỏa mãn: \(n \le 2000\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.