Khi được học về LCS Hạo rất hứng thú vì học được phương pháp hay, học được cách vận dụng biến đổi các bài toán liên quan về dạng quen thuộc để ứng dụng được LCS vào để giải. Biết Hạo đang hứng thú, Thầy đố Hạo một bài toán như sau:
- Cho hai xâu kí tự số \(X\) và \(Y\), tìm một xâu con chung có giá trị lớn nhất của hai xâu đã cho. Ví dụ \(X='1003456'\) và \(Y='001435'\). Một số xâu con chung như
00
,0035
,135
,145
... Xâu con chung có giá trị lớn nhất là145
. Xâu con chung phải lớn nhất phải là một số không chứa số \(0\) vô nghĩa.
Bạn hãy giúp Hạo viết chương trình tìm xâu con chung có giá trị lớn nhất đó để Hạo có thể kiểm tra đáp án của mình.
Dữ liệu vào
- Dòng \(1\) là xâu kí tự \(X\)
- Dòng \(2\) là xâu kí tự \(Y\)
- Hai xâu chỉ chứa kí tự số. Độ dài mỗi xâu số không quá \(1000\).
Dữ liệu ra
- In ra dòng 1 là độ dài của xâu con chung lớn nhất cần tìm.
- Dòng thứ hai in ra xâu con chung lớn nhất theo đúng định dạng đã cho ở ví dụ bên dưới.
Input 1
1003456
001435
Output 1
3
LCS MAX NUMBER is 145
Input 2
10103456
0101435
Output 2
5
LCS MAX NUMBER is 10145
Input 3
000314
3000410
Output 3
2
LCS MAX NUMBER is 34
Input 4
12345
6789
Output 4
0
LCS MAX NUMBER is NULL
Input 5
60005
90204
Output 5
1
LCS MAX NUMBER is 0
Nhận xét