poj2264 dp+路径

时间:2023-03-08 15:23:43
poj2264 dp+路径
 //Accepted    208K    0MS
 //dp
 //最长公共子序列+路径
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 ;
 int dp[imax_n][imax_n];
 char s1[imax_n],s2[imax_n];
 int l1,l2;
 int max(int a,int b)
 {
     return a>b?a:b;
 }
 void Dp()
 {
     memset(dp,,sizeof(dp));

     ;i<=l1;i++)
     {
         ;j<=l2;j++)
         {
             //dp[i][j]=inf;
             dp[i][j]=max(dp[i-][j],dp[i][j-]);
             ]==s2[j-])
             dp[i][j]=max(dp[i][j],dp[i-][j-]+);
         }
     }
     //printf("%d\n",dp[l1][l2]);
 }
 void output(int i,int j)
 {
     )
     {
         ;k<=i;k++)
         printf(]);
         ;k<=j;k++)
         printf(]);
         return ;
     }
     ][j-]+ && s1[i-]==s2[j-])
     {
         output(i-,j-);
         printf(]);
         return ;
     }
     ][j])
     {
         output(i-,j);
         printf(]);
         return ;
     }
     ])
     {
         output(i,j-);
         printf(]);
         return ;
     }
 }
 int main()
 {
     while (scanf("%s%s",s1,s2)!=EOF)
     {
         l1=strlen(s1);
         l2=strlen(s2);
         Dp();
         output(l1,l2);
         printf("\n");
     }
     ;
 }