Common Subsequence(hdu 1159)
来源:互联网 发布:dota2天梯淘宝买账号 编辑:程序博客网 时间:2024/05/01 14:28
Common Subsequence
TimeLimit: 2000/1000 MS(Java/Others)Total Submission(s):11711
Problem Description
A subsequence of a given sequence is the given sequence with someelements (possible none) left out. Given a sequence X =<x1, x2, ..., xm> another sequence Z= <z1, z2, ..., zk> is a subsequenceof X if there exists a strictly increasing sequence<i1, i2, ..., ik> of indices of Xsuch that for all j = 1,2,...,k, xij = zj. For example, Z =<a, b, f, c> is a subsequence of X =<a, b, c, f, b, c> with indexsequence <1, 2, 4, 6>. Given twosequences X and Y the problem is to find the length of themaximum-length common subsequence of X andY.
The program input is from a text file. Each data set in the filecontains two strings representing the given sequences. Thesequences are separated by any number of white spaces. The inputdata are correct. For each set of data the program prints on thestandard output the length of the maximum-length common subsequencefrom the beginning of a separateline.
The program input is from a text file. Each data set in the filecontains two strings representing the given sequences. Thesequences are separated by any number of white spaces. The inputdata are correct. For each set of data the program prints on thestandard output the length of the maximum-length common subsequencefrom the beginning of a separateline.
Sample Input
abcfbcabfcab programming contest abcd mnp
Sample Output
4 20
Source
SoutheasternEurope 2003
Recommend
Ignatius
#include<iostream>#include <stdio.h>#include<algorithm>#include <string>#include<string.h>#include<stdlib.h>#include <math.h>#define MAXLEN 500using namespace std;void lcs(char *x,char *y,int m,int n,int c[][MAXLEN]){ int i,j; for(i=0;i<m;i++) c[i][0]=0; for(i=0;i<n;i++) c[0][i]=0; for(i=1;i<=m;i++) for(j=1;j<=n;j++){ if(x[i-1]==y[j-1]) c[i][j]=c[i-1][j-1]+1; else if(c[i-1][j]>c[i][j-1]) c[i][j]=c[i-1][j]; else c[i][j]=c[i][j-1]; } printf("%d\n",c[m][n]);}int main(){ intc[MAXLEN][MAXLEN]; char x[MAXLEN],y[MAXLEN]; int m,n; while (~scanf("%s%s",x,y)) { m=strlen(x); n=strlen(y); lcs(x,y,m,n,c); } return 0;}
0 0
- hdu 1159 Common Subsequence
- HDU 1159 Common Subsequence
- HDU 1159 Common Subsequence
- hdu 1159 Common Subsequence
- HDU 1159 Common Subsequence
- HDU 1159 Common Subsequence
- hdu 1159 Common Subsequence
- hdu 1159 Common Subsequence
- hdu 1159 Common Subsequence
- Common Subsequence hdu 1159
- HDU 1159 Common Subsequence
- HDU 1159 Common Subsequence
- hdu 1159 Common Subsequence
- hdu 1159 Common Subsequence
- HDU 1159 Common Subsequence
- hdu 1159 Common Subsequence
- hdu 1159 Common Subsequence
- hdu 1159 Common Subsequence
- Luke'family
- 结构体排序
- linux磁盘管理二之磁盘配额
- 2072Count(foj)
- 1002 hdu (高精度)
- Common Subsequence(hdu 1159)
- 最长公共子序列
- Dijkstra算法(单源最短路径)
- hdu(Number Sequence 1711)kmp
- hdu1025(最长上升子序列)
- Monkey and Banana hdu(1069)
- 报错:Link of class 'Lcom/.../PersistentConnectionListener;' failed ...VFY: unable to resolve new-insta
- A Problem With Fibonacci Sequence
- nginx常见错误---持续更新