一个有关最长数字子序列方面的算法的问题?用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