zoukankan      html  css  js  c++  java
  • UVA 10405 Longest Common Subsequence

    UVA_10405

        求最长公共子序列,为了防止字符串里有空格的情况,还是直接用gets读字符串更稳妥些。

    #include<stdio.h>
    #include<string.h>
    #define MAXD 1010
    char a[MAXD], b[MAXD];
    int f[MAXD][MAXD];
    int init()
    {
    if(gets(&a[1]) == NULL)
    return 0;
    gets(&b[1]);
    return 1;
    }
    void solve()
    {
    int i, j, k1, k2;
    k1 = strlen(&a[1]);
    k2 = strlen(&b[1]);
    memset(f, 0, sizeof(f));
    for(i = 1; i <= k1; i ++)
    for(j = 1; j <= k2; j ++)
    {
    if(a[i] == b[j])
    f[i][j] = f[i - 1][j - 1] + 1;
    else
    f[i][j] = f[i - 1][j] > f[i][j - 1] ? f[i - 1][j] : f[i][j - 1];
    }
    printf("%d\n", f[k1][k2]);
    }
    int main()
    {
    while(init())
    {
    solve();
    }
    return 0;
    }


  • 相关阅读:
    OMNETPP: tictoc
    OMNETPP安装
    Unified SR
    SCM
    DC tunnel
    AIMD
    AQM
    MANAGER POJ1281 C语言
    Pascal Library C语言 UVALive3470
    The 3n + 1 problem C语言 UVA100
  • 原文地址:https://www.cnblogs.com/staginner/p/2233784.html
Copyright © 2011-2022 走看看