UVA 10066 The Twin Towers

来源:互联网 发布:mac系统PPT怎么转换 编辑:程序博客网 时间:2024/06/06 11:39

最长公共子序列。

#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;int dp[110][110],a[110],b[110];int main(){    int n ,m , cas = 1;    while(~scanf("%d%d",&n,&m))    {        if(n == 0 && m == 0) return 0;        for(int i = 1 ; i <= n ; i++)            scanf("%d",&a[i]);        for(int i = 1 ; i <= m ; i++)            scanf("%d",&b[i]);        for(int i = 1 ; i <= n ; i++)        {            for(int j = 1 ; j <= m ; j++)            {                if(a[i] == b[j]) dp[i][j] = dp[i-1][j-1] + 1;                else dp[i][j] = max(dp[i-1][j],dp[i][j-1]);            }        }        printf("Twin Towers #%d\n",cas++);        printf("Number of Tiles : %d\n",dp[n][m]);        printf("\n");    }    return 0;}
0 0
原创粉丝点击