当前位置:   article > 正文

一本通 1297:公共子序列

一本通1297

公共子序列

多组输入的最长公共子序列

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <cstring>
  4. #include <string>
  5. using namespace std;
  6. //Mystery_Sky
  7. //
  8. #define M 1000
  9. string s1, s2;
  10. int f[M][M], len1, len2;
  11. int main() {
  12. while(cin >> s1 >> s2) {
  13. memset(f, 0, sizeof(f));
  14. len1 = s1.size(), len2 = s2.size();
  15. for(int i = 1; i <= len1; i++) {
  16. for(int j = 1; j <= len2; j++) {
  17. if(s1[i-1] == s2[j-1]) f[i][j] = max(f[i][j], f[i-1][j-1]+1);
  18. else f[i][j] = max(f[i-1][j], f[i][j-1]);
  19. }
  20. }
  21. printf("%d\n", f[len1][len2]);
  22. s1.clear(), s2.clear();
  23. }
  24. return 0;
  25. }

转载于:https://www.cnblogs.com/Benjamin-cpp/p/10846415.html

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号