한번 분할정복법으로 해볼려니까 잘 안되네요;

10

television

10

telephones

로 했더니

6이 아니라 4로 나오고요;

#include <stdio.h>

#include <string.h>

char A[10002],B[10002];

int MAX(int i,int j)

{

    if(i>j)

    return i;

    else

    return j;

}

int c(int i,int j)

{

    if(i==0 || j==0)

    return 0;

    else if(A[i]==B[i])

    return c(i-1,j-1)+1;

    else

    return MAX(c(i,j-1),c(i-1,j));

}

int main()

{

    //freopen("input.txt","r",stdin);

    //freopen("output.txt","w",stdout);

    int n,m;

    scanf("%d",&n);

    scanf("%s",A+1);

    scanf("%d",&m);

    scanf("%s",B+1);

    printf("%d",c(n,m));

    return 0;

}

여기서 틀린것이 뭐인지 알려주시면 감사하겠습니다