首页 > Windows开发 > 详细

uva 10066 - The Twin Towers

时间:2014-03-18 12:48:22      阅读:558      评论:0      收藏:0      [点我收藏+]

就按照传统的方法求。

bubuko.com,布布扣
 1 #include<iostream>
 2 #include<string.h>
 3 using namespace std;
 4 int m,n,maxlen[102][102];
 5 void lcs(int a[],int b[]){
 6     for(int i=1;i<=m;i++){
 7         for(int j=1;j<=n;j++){
 8             if(a[i-1]==b[j-1])
 9                 maxlen[i][j]=maxlen[i-1][j-1]+1;
10             else
11                 if(maxlen[i-1][j]>=maxlen[i][j-1])
12                     maxlen[i][j]=maxlen[i-1][j];
13                 else
14                     maxlen[i][j]=maxlen[i][j-1];
15         }
16     }    
17 }
18 int main(){
19     int n1[102],n2[102],tilenum=1;
20     while(cin>>m>>n){
21         memset(maxlen,0x0,sizeof(maxlen));
22         if(!m&&!n)
23             break;
24         for(int i=0;i<m;i++)
25             cin>>n1[i];
26         for(int i=0;i<n;i++)
27             cin>>n2[i];
28         lcs(n1,n2);
29 
30         cout<<"Twin Towers #"<<tilenum++<<endl;
31         cout<<"Number of Tiles : "<<maxlen[m][n]<<endl<<endl;
32 
33     }
34 }
bubuko.com,布布扣

uva 10066 - The Twin Towers,布布扣,bubuko.com

uva 10066 - The Twin Towers

原文:http://www.cnblogs.com/royjwy/p/3607348.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!