zoukankan      html  css  js  c++  java
  • poj1458

     1 /* 最长公共子序列*/
     2 #include<stdio.h>
     3 #include<string.h>
     4 #include<algorithm>
     5 using namespace std;
     6 int dp[1000][1000],dir[1000][1000];
     7 char a[1000],b[1000];
     8 int LCS(int n,int m)
     9 {
    10     int i,j;
    11     for(i=1;i<=n;i++)
    12         for(j=1;j<=m;j++)
    13         {
    14             if(a[i-1]==b[j-1])
    15             {
    16                 dp[i][j]=dp[i-1][j-1]+1;
    17                 dir[i][j]=1;
    18             }
    19             else if(dp[i-1][j]>=dp[i][j-1])
    20             {
    21                 dp[i][j]=dp[i-1][j];
    22                 dir[i][j]=0;
    23             }
    24             else
    25             {
    26                 dp[i][j]=dp[i][j-1];
    27                 dir[i][j]=2;
    28             }
    29         }
    30     return dp[n][m];
    31 }
    32 /*void print(int r,int c)
    33 {
    34      if(r==0 || c==0) return;
    35      if(dir[r][c]==1)
    36      {
    37          print(r-1,c-1);
    38          printf("%c ",a[r-1]);
    39      }
    40      else if(dir[r][c]==0) print(r-1,c);
    41      else print(r,c-1);
    42 }*/
    43 int main()
    44 {
    45     int n,m;
    46     while(scanf("%s%s",a,b)!=EOF)
    47     {
    48         //printf("%s
    %s
    ",a,b);
    49         n=strlen(a);
    50         m=strlen(b);
    51         printf("%d
    ",LCS(n,m));
    52         //print(n,m);
    53     //    printf("
    ");
    54     }
    55     return 0;
    56 }
    57         
  • 相关阅读:
    Windows 服务程序(一)
    API---注册表编程
    API---文件操作
    main(argc, char *argv[])
    C 自删除技术---批处理方式
    分治法排序
    TDD尝试:nodejs单元测试
    尝试create tech team
    Yum重装走过的坑
    求生欲很强的数据库
  • 原文地址:https://www.cnblogs.com/okboy/p/3223444.html
Copyright © 2011-2022 走看看