UVa 10405 Longest Common Subsequence(LCS)
#include <cstdio> #include <cstdlib> #include <cstring> #define max(a,b) (((a) > (b)) ? (a) : (b)) const int MAXN = 1010; char s[MAXN], d[MAXN]; int dp[MAXN][MAXN]; int main() { while (gets(s+1) && gets(d+1)) { int ls = strlen(s + 1); int ld = strlen(d + 1); memset(dp, 0, sizeof(dp)); for (int i = 1; i <= ls; ++i) for (int j = 1; j <= ld; ++j) if (s[i] == d[j]) dp[i][j] = dp[i-1][j-1] + 1; else dp[i][j] = max(dp[i][j-1], dp[i-1][j]); printf("%d\n", dp[ls][ld]); } return 0; }
-------------------------------------------------------
kedebug
Department of Computer Science and Engineering,
Shanghai Jiao Tong University
E-mail: kedebug0@gmail.com
GitHub: http://github.com/kedebug
-------------------------------------------------------
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步