# poj 2192 Zipper

1.确定每个字符串与合并之后的字符串在字符串的顺序不变的情况下，各个字符串与合并之后的字符串的正确字符的个数
2.在1的前提下，遍历求出当前元素之前，该字符串与合并之后的字符串相同元素的最大数

#include<iostream>
#include<string.h>
#include<math.h>
#include<fstream>
#include<algorithm>
#include<stdio.h>
#include<queue>
#include<vector>
#define MAXSIZE 100
using namespace std;
#define max(a, b) ((a) > (b) ? (a) : (b))
#define min(a, b) ((a) < (b) ? (a) : (b))
int n = 0;
char s1[210], s2[210], s3[420];
int dp[210][210];
int main()
{
//freopen("data_2192.txt","r",stdin);
scanf("%d", &n);
for (int k = 1; k <= n; k++)
{
memset(dp, 0, sizeof(dp));
scanf("%s%s%s", s1, s2, s3);
int len1 = strlen(s1);
int len2 = strlen(s2);
for (int i = 1; i <= len1; i++)
{
if (s1[i - 1] == s3[i - 1])
{
dp[i][0] = max (dp[i][0], dp[i - 1][0] + 1);
}else
{
dp[i][0] = dp[i - 1][0];
}
}
for (int i = 1; i <= len2; i++)
{
if (s2[i - 1] == s3[i - 1])
{
dp[0][i] = max (dp[0][i], dp[0][i - 1] + 1);
}else
{
dp[0][i] = dp[0][i - 1];
}
}
for (int i = 1; i <= len1; i++)
{
for (int j = 1; j <= len2; j++)
{
dp[i][j] = max (dp[i - 1][j], dp[i][j - 1]);
if (s1[i - 1] == s3[i + j - 1])
{
dp[i][j] = max (dp[i][j], dp[i - 1][j] + 1);
}
if (s2[j - 1] == s3[i + j - 1])
{
dp[i][j] = max (dp[i][j], dp[i][j - 1] + 1);
}
}
}
if (dp[len1][len2] == len1 + len2)
{
printf("Data set %d: yes\n", k);
}else
{
printf("Data set %d: no\n", k);
}
}

return 0;
}

• 本文已收录于以下专栏：

## 【动态规划】POJ - 2192 Zipper

【动态规划】POJ - 2192 Zipper DescriptionGiven three strings, you are to determine whether the third strin...
• xuziling_
• 2017年12月27日 16:45
• 48

## Combine String

Given three strings aa, bb and cc, your mission is to check whether cc is the combine string of ...
• wanghandou
• 2017年04月19日 19:25
• 266

## Face+Recognition+for+the+Happy+House+-+v3

Face Recognition for the Happy HouseWelcome to the first assignment of week 4! Here you will build a...
• u012657650
• 2017年11月27日 17:40
• 749

## POJ2192：Zipper(DP)

Description Given three strings, you are to determine whether the third string can be formed by com...
• libin56842
• 2013年12月15日 19:37
• 2322

## poj 2192 zipper

• u013076044
• 2014年10月01日 17:03
• 948

## 集成自己的番号+磁链库

1.使用的数据库，mongodb，格式就是简单的{‘番号’：番号，‘磁链’：磁链}2.目标网页有两个 a：http://www.233mr.com/nvyou/ b：http://...
• qq_33582656
• 2017年12月23日 16:44
• 412

## doxygen的特定命令

doxygen的特定命令 摘要：本文给出doxygen所支持的全部的一个列表，同时对其进行逐一解释与说明，对于使用doxygen来有重要参考价值。本文主要来自对doxygen官方...
• joji_h
• 2014年07月07日 11:16
• 6151

## poj 2192 Zipper （DP）

#include #include #include #include #include #include #include #include #include #include ...
• classicshao
• 2014年12月20日 13:40
• 166

## ACM POJ 2192 Zipper

• wzg272365960
• 2014年10月09日 20:21
• 567

## Octave教程 Octave Tutorial

http://blog.csdn.net/pipisorry/article/details/43565653本文教你掌握octave基本知识。Octave Tutorial Octave教程为什么学...
• pipisorry
• 2015年02月06日 16:13
• 15426

举报原因： 您举报文章：poj 2192 Zipper 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)