一个比较特殊的字符串计算最长相同序列的算法问题,如何使用C语言计算?

Problem Description
Everyone knows LCS problem:

For example:
str1 = "GCTAT"
str2 = "CGATTA"

the longest common subsequence is "GTT" of them.So you should print "3".

I'm sure you can easily sovle it.So the challenge is coming again.(^_^)

Input
For each case,there are two lines.one is string A,the other is string B.
the string Process to end of file.Each string will have at most 30000 characters.
All the characters are in upper-case.

Output
For each case, output the maximum-length common subsequence.

Sample Input
GCTAT
CGATTA

ABCFBC
ABFCAB

Sample Output
3
4