POJ 2192 Zipper (简单DP)
- POJ 2192 Zipper
- 题意:
- 解题过程:
- AC代码:
POJ 2192 Zipper
题目传送门
题意:
给出你三个字符串,问你能否把前两个字符串混合成第三个字符串,使得每个字母在原字符串中的前后顺序不改变。
解题过程:
考虑DP,可以用f[i][j]表示第一个字符串枚举到第i位,第二个字符串枚举到第j位时,能否混合成前第三个字符串前i+j位。然后就是简单的转移了。最后f[len1][len2]就是答案了。
AC代码:
#include <iostream>
#include <cmath>
#include <vector>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <queue>
#include <stack>
#include <list>
#include <algorithm>
#include <map>
#include <set>
const int maxn=205;int T;
char s1[maxn],s2[maxn],c[maxn*2];
int len1,len2,len;
bool f[maxn][maxn];int main()
{ scanf("%d",&T);int t=1;while(T--){printf("Data set %d: ",t++);scanf("%s%s%s",s1+1,s2+1,c+1); len1=strlen(s1+1);len2=strlen(s2+1);len=strlen(c+1);memset(f,0,sizeof f);for(int i=1;i<=len1;i++){if(s1[i]==c[i]){f[i][0]=1;}else break;}for(int i=1;i<=len2;i++){if(s2[i]==c[i]){f[0][i]=1;}else break;}for(int i=1;i<=len1;i++){for(int j=1;j<=len2;j++){if(s1[i]==c[i+j]&&f[i-1][j]){f[i][j]=1;}if(s2[j]==c[i+j]&&f[i][j-1]){f[i][j]=1;}}}if(f[len1][len2])printf("yes\n");else printf("no\n");}return 0;
}
本人蒟蒻OIer一枚,欢迎加QQ:840776708一起学习蛤。
转载于:https://www.cnblogs.com/Apocrypha/p/9433671.html
POJ 2192 Zipper (简单DP)相关推荐
- ACM POJ 2192 Zipper
题目大意:输入字符串a,b,c 要求推断c是否有a,b中的个字符保持原有顺序组合而成. 算法思想: DP 用dp[i][j]表示a的前0~i-1共i个字符和b的前0~j-1共j个字符是否构成c[i+j ...
- POJ1088:滑雪(简单dp)
题目链接: http://poj.org/problem?id=1088 题目要求: 一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小.求可以滑落的最长长度. 题目解析: 首先要先排一 ...
- Codeforces 41D Pawn 简单dp
题目链接:点击打开链接 给定n*m 的矩阵 常数k 以下一个n*m的矩阵,每一个位置由 0-9的一个整数表示 问: 从最后一行開始向上走到第一行使得路径上的和 % (k+1) == 0 每一个格子仅仅 ...
- hdu2067 简单dp或者记忆化搜索
题意: 小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 第三讲 数学与简单DP【完结】
目录 1205. 买不到的数目 [数学结论题] 1211. 蚂蚁感冒 [模拟 / 推理] 1216. 饮料换购 [简单 / 模拟] 2. 01背包问题 [板子题] 1015. 摘花生 [简单DP] 8 ...
- hdu 2881(简单dp)
题意:n*n的矩阵,里面有m个格子是有任务要去完成的,t,x,y表示要在第t秒到达(x,y)的格子完成任务,问你最多可以完成多少 解题思路:简单dp,将时间排个序后就是LIS #include< ...
- P1005 矩阵取数游戏(__int128模板/简单dp)
转跳P1005 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n \times mn×m 的矩阵,矩阵中的每个元素 a_{i,j}a i,j 均为非负整数.游戏规则如下: 每次取数时 ...
- 最少拦截系统,简单dp,(学长说这是贪心?!。。。。。。也是醉了)
description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天, ...
- HDU 1158【简单dp】
题意:给你一个项目,需要几个月来完成买,同时也给你每个月最少需要的工人数.并且告诉你hiring,firing每个工人的钱数,以及每个月应付每个工人的工资.求项目完成时最小花费. 这是个简单dp,思路 ...
- 4.15 每周作业 —— 简单DP
免费馅饼 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
最新文章
- Javascript实现导航锚点滚动效果实例
- VS cmake远程调试ubuntu项目生成报错:“Does not match the generator used previously: Ninja“(删除.vs隐藏文件夹)
- 【Tiny4412】烧写Qt文件系统到EMMC
- ecshop程序结构说明
- linux 进程0 写时复制,linux 写时复制 COW 过程梳理
- qt调用仪器驱动库dll实现程控
- Ruby学习笔记1 -- 基本语法和数据类型, Class
- ansys19.0安装破解教程(图文详解)
- Windows权限维持方法
- 二进制转三进制 C语言版
- TextView 的 StaticLayout,比你想象中复杂点!
- 亚裔在澳大利亚难登事业巅峰?会说英语是关键
- Vue3通过npm或者yarn启动后,显示“Network: use --host to expose”,无法访问
- MySQL中的表中增加删除字段
- linux怎么移植安卓rom,【经验技巧】任意手机移植ROM 教程,超详细ROM 技术详细......
- 一个例子手把手抬你入门Vue2
- Deploying Kylix 3 Applications
- 软件测试 通用技术03 测试用例 黑盒测试用例设计方法 等价类划分法 边界值分析法 判定表法 场景法 功能图法 其他用例设计方法 用例设计方法综合选择
- 【模型蒸馏】TinyBERT: Distilling BERT for Natural Language Understanding
- 一文读懂区块链隐私技术系列之环签名