24h購物| | PChome| 登入
2009-06-28 19:09:13| 人氣466| 回應0 | 上一篇 | 下一篇

北縣縣賽 97北縣賽-2-基因序列密碼問題

推薦 0 收藏 0 轉貼0 訂閱站台

作法:LIS(DP)

/*********-*********************************************/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int
main()
{
 char x[51],y[51];
 while(scanf("%s %s",x,y)==2)
 {
   int math[51][51]={0};
   int LCS[51][51][51]={0};
   int a,b,c,n=strlen(x),m=strlen(y);

   for(a=1;a<=n;a++)
    for(b=1;b<=m;b++)
    {
     if(x[a-1]==y[b-1])
       {
        math[a][b]=math[a-1][b-1]+1;
        for(c=0;c<50;c++)
         LCS[a][b][c]=LCS[a-1][b-1][c];
         LCS[a][b][math[a][b]]=y[b-1];
       }
     else
       {
         if(math[a-1][b]>math[a][b-1])
            for(c=0;c<50;c++)
             LCS[a][b][c]=LCS[a-1][b][c];
         else
            for(c=0;c<50;c++)
             LCS[a][b][c]=LCS[a][b-1][c];
          math[a][b]=(math[a][b-1]>math[a-1][b])?math[a][b-1]:math[a-1][b];
       }
    }
    if(math[n][m]==0) printf("E\n");
    else
    for(a=1;a<=math[n][m];a++)
     printf("%c",LCS[n][m][a]);
     printf("\n");
  }
 return 0;
}

台長: 來源不明
人氣(466) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: 資訊競賽 |
此分類下一篇:95北市資訊學科能力競賽 用餐地點 (Lunch)
此分類上一篇:NOIP2004 提高組 NOIP2004 3.合唱隊型

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文