链接:UVa 10192

题意:给定两个字符串。求最长公共子串的长度

思路:这个是最长公共子串的直接应用

#include<stdio.h>
#include<string.h>
int max(int a,int b)
{
return a>b?a:b;
}
int main()
{
char s[105],t[105];
int i,j,k=0,m,n,dp[105][105];
while(gets(s)!=NULL){
if(strcmp(s,"#")==0)
break;
k++;
gets(t);
m=strlen(s);
n=strlen(t);
for(i=0;i<m;i++)
dp[i][0]=0;
for(i=0;i<n;i++)
dp[0][i]=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++){
if(s[i]==t[j])
dp[i+1][j+1]=dp[i][j]+1;
else
dp[i+1][j+1]=max(dp[i+1][j],dp[i][j+1]);
}
printf("Case #%d: you can visit at most %d cities.\n",k,dp[m][n]);
}
return 0;
}

option=com_onlinejudge&Itemid=8&category=12&page=show_problem&problem=1007">链接:UVa 10066

题意:求给定两个字符串的最长公共子串

#include<stdio.h>
int m,n,a[105],b[105],dp[105][105];
int max(int a,int b)
{
return a>b? a:b;
}
void LCS()
{
int i,j;
for(i=1;i<=m;i++)
dp[i][1]=0;
for(j=1;j<=n;j++)
dp[1][j]=0;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++){
if(a[i]==b[j])
dp[i+1][j+1]=dp[i][j]+1;
else
dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);
}
}
int main()
{
int i,k=0;
while(scanf("%d%d",&m,&n)!=EOF){
if(m==0&&n==0)
break;
k++;
for(i=1;i<=m;i++)
scanf("%d",&a[i]);
for(i=1;i<=n;i++)
scanf("%d",&b[i]);
LCS();
printf("Twin Towers #%d\n",k);
printf("Number of Tiles : %d\n\n",dp[m+1][n+1]);
}
return 0;
}

UVa 10192 - Vacation &amp; UVa 10066 The Twin Towers ( LCS 最长公共子串)的更多相关文章

  1. uva 10066 The Twin Towers (最长公共子)

    uva 10066 The Twin Towers 标题效果:最长公共子. 解题思路:最长公共子. #include<stdio.h> #include<string.h> # ...

  2. uva 10192 Vacation(最长公共子)

    uva 10192 Vacation The Problem You are planning to take some rest and to go out on vacation, but you ...

  3. UVA.10192 Vacation (DP LCS)

    UVA.10192 Vacation (DP LCS) 题意分析 某人要指定旅游路线,父母分别给出了一系列城市的旅游顺序,求满足父母建议的最大的城市数量是多少. 对于父母的建议分别作为2个子串,对其做 ...

  4. UVA.10066 The Twin Towers (DP LCS)

    UVA.10066 The Twin Towers (DP LCS) 题意分析 有2座塔,分别由不同长度的石块组成.现在要求移走一些石块,使得这2座塔的高度相同,求高度最大是多少. 问题的实质可以转化 ...

  5. UVA 10066 The Twin Towers

    裸最长公共子序列 #include<time.h> #include <cstdio> #include <iostream> #include<algori ...

  6. UVA 10066 The Twin Towers(LCS)

    Problem B The Twin Towers Input: standard input Output: standard output Once upon a time, in an anci ...

  7. UVA 10192 Vacation

    裸最长公共子序列 #include<time.h> #include <cstdio> #include <iostream> #include<algori ...

  8. LightOJ1126 Building Twin Towers(DP)

    题目 Source http://www.lightoj.com/volume_showproblem.php?problem=1126 Description Professor Sofdor Al ...

  9. The Twin Towers zoj2059 DP

    The Twin Towers Time Limit: 2 Seconds      Memory Limit: 65536 KB Twin towers we see you standing ta ...

随机推荐

  1. H5单文件压缩插件

    单文件压缩上传 <input type="file" id="file"> 构造函数 function UpFileImg(options){ va ...

  2. 03 Java 修饰符

    Java 修饰符主要分为两类: 访问修饰符 非访问修饰符 访问修饰符 public,对所有类可见 protected,对同一包内的类和子类可见 default,同一个包内的类可见 private,对当 ...

  3. js字符串使用占位符拼接

    由于几个老项目中经常用到jquery拼接字符串,各种引号很disgusting 所以写了一个占位符拼接的的方法 String.prototype.signMix= function() { if(ar ...

  4. 飞思卡尔MC9S12系列单片机地址影射以及分页问题

    对于用MCU的人来说,不一定要明白HCS12(x) memory map的机制和联系.因为如果没有系统地学习操作系统和编译原理之类的课程,确实有些难度.并且,对于DG128 XS128这样的MCU,默 ...

  5. poj 3744 Scout YYF 1 (概率DP+矩阵快速幂)

    F - Scout YYF I Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub ...

  6. MFC does not support WINVER less than 0x0501 解决方案(转)

    原文转自 http://blog.csdn.net/ygzhong000/article/details/41750841 解决方案:在stdafx.h头文件中添加以下行. #define WINVE ...

  7. 1.Openstack-环境安装

    Centos7 OpenStack环境安装 Ifcofnig vim命令 Centos7最小化安装后如没有ifconfig vim命令,执行: 1 yum install -y net-tools v ...

  8. 中国大陆无法访问Steve Purcell的emacs配置解决办法

    因为大陆网络问题,没办法访问Steve Purcell的emacs配置中的melpa.org,所以我们更改目录即可. 1.删除自己的配置. $ rm ~/.emacs $ rm -rf ~/.emac ...

  9. 51nod 1087 1 10 100 1000【打表】

    题目来源: Ural 1209 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 1,10,100,1000...组成序列1101001000...,求 ...

  10. mysql查询含有指定字段的所有表

    SELECT * FROM information_schema.columns WHERE column_name='userId'; TABLE_SCHEMA字段为db的名称(所属的数据库),字段 ...