fork(1) download
  1. #include<bits/stdc++.h>
  2. int f[2001][2001];
  3. using namespace std;
  4. string so,st;
  5. int main()
  6. {
  7. while (cin>>so>>st)
  8. {
  9. for (int i=0;i<=st.size();i++)
  10. f[0][i]=0;
  11. for (int i=0;i<=so.size();i++)
  12. f[i][0]=0;
  13. for (int i=1;i<=so.size();i++)
  14. for (int j=1;j<=st.size();j++)
  15. if (so[i-1]==st[j-1]) f[i][j]=f[i-1][j-1]+1;
  16. else f[i][j]= max (f[i-1][j],max(f[i][j-1],f[i-1][j-1]));
  17. cout<<f[so.size()][st.size()]<<endl;
  18.  
  19. }
  20. }
Success #stdin #stdout 0s 19112KB
stdin
abc1def2ghi3
abcdefghi123
stdout
10