zoukankan      html  css  js  c++  java
  • [算法] doj 1605 Common Subsequence 公共子序列

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <string>
    #include <algorithm>
    
    using namespace std;
    const int N = 505;
    char s1[N], s2[N];
    int dp[N][N];
    void solve() {
    	int len1 = strlen(s1+1);
    	int len2 = strlen(s2+1);
    	memset(dp, 0, sizeof(dp));
    	for(int i = 0; i <= len2; i++) {
    		dp[0][i] = 0;
    	}
    	for(int i = 0; i <= len1; ++i) {
    		dp[i][0] = 0;
    	}
    	for(int i = 1; i <= len1; ++i) {
    		for(int j = 1; j <= len2; ++j) {
    			if(s1[i] == s2[j]) {
    				dp[i][j] = dp[i-1][j-1] + 1;
    			}
    			else dp[i][j] = max(dp[i-1][j], dp[i][j-1]);
    		}
    	}
    	cout << dp[len1][len2] << endl;
    }
    int main() {
    	while(scanf("%s%s", s1+1, s2+1) == 2) {
    		solve();
    	}
    	return 0;
    }

  • 相关阅读:
    手势识别 ios
    无题
    核心动画笔记
    Quartz2D的学习2
    Quartz2D的学习1
    NSURLsessionTask
    NSURLSession
    POST请求的两种方式
    网络第一天
    NSThread
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786695.html
Copyright © 2011-2022 走看看