trang chủ / bài tập / luckylcs

Dãy con chung may mắn

Đề bài

Mô tả

Một dãy con của một xâu là dãy thu được bằng cách xóa đi một số ký tự (có thể không xóa ký tự nào) mà không thay đổi thứ tự các ký tự còn lại. Ví dụ, BDF là một dãy con của ABCDEF. Một xâu con của một xâu là một đoạn liên tiếp các ký tự của xâu đó. Ví dụ, BCD là một xâu con của ABCDEF.

Cho hai xâu s1, s2 và một xâu thứ ba tên là virus. Hãy tìm dãy con chung dài nhất của s1s2 sao cho nó không chứa virus như một xâu con (đoạn liên tiếp).

Nếu có nhiều đáp án thỏa mãn, in ra bất kỳ đáp án nào.

Dữ liệu vào

Gồm ba dòng, lần lượt là các xâu s1, s2virus. Mỗi xâu chỉ gồm các chữ cái in hoa trong bảng chữ cái tiếng Anh.

Dữ liệu ra

In ra dãy con chung dài nhất của s1s2 mà không chứa virus như một xâu con. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Nếu không tồn tại dãy con chung hợp lệ nào có độ dài dương, in ra số 0.

Ràng buộc

  • 1|s1|,|s2|,|virus|100

Ví dụ

Input Output Giải thích
AA
A
A
0 Dãy con chung duy nhất có độ dài dương là A, nhưng nó chứa virus = A. Vì vậy chỉ còn dãy rỗng, in ra 0.
AJKEQSLOBSROFGZ
OVGURWZLWVLUXTH
OZ
ORZ ORZ là dãy con chung của cả hai xâu và không chứa OZ. Độ dài 3 là lớn nhất; các đáp án khác như OGZ cũng được chấp nhận.
ABABABAC
ABABABAC
ABABAC
ABABBAC Dãy con chung dài nhất khi bỏ qua virus là ABABABAC (độ dài 8) nhưng nó chứa ABABAC. Đáp án dài nhất hợp lệ có độ dài 7, ví dụ ABABBAC.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0