poj 2192 记忆化&dfs
来源:互联网 发布:域名注册服务机构 编辑:程序博客网 时间:2024/05/21 11:05
给三个串,问 第三个串能否 由前两个串构成。。
dfs+剪枝。。
#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxn=210;char sa[maxn],sb[maxn],p[maxn<<1];//int dp[maxn][maxn];int lena,lenb,lenp;bool dfs(int la,int lb,int lp){if(la==lena&&lb==lenb)return true;if(la<lena&&sa[la]==p[lp]){if(dfs(la+1,lb,lp+1))return true;}if(lb<lenb&&sb[lb]==p[lp]){if(dfs(la,lb+1,lp+1))return true;}return false;}int main(){int t;scanf("%d",&t);for(int cas=1;cas<=t;cas++){scanf("%s%s%s",sa,sb,p);lena=strlen(sa);lenb=strlen(sb);lenp=strlen(p);printf("Data set %d: ",cas);if(lena+lenb!=lenp || sa[lena-1]!=p[lenp-1]&&sb[lenb-1]!=p[lenp-1]){puts("no");continue;}bool OK=dfs(0,0,0);if(OK)puts("yes");else puts("no");}}
dp 记忆化 。。
#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int maxn=210;char sa[maxn],sb[maxn],p[maxn<<1];int dp[maxn][maxn];int lena,lenb,lenp;bool funDP(int i,int j){if(dp[i][j]!=-1)return dp[i][j];if(i==0&&j==0)return dp[i][j]=true;if(i>0&&sa[i]==p[i+j])if(funDP(i-1,j))return dp[i][j]=true;if(j>0&&sb[j]==p[i+j])if(funDP(i,j-1))return dp[i][j]=true;return dp[i][j]=false;}int main(){int t;scanf("%d",&t);for(int cas=1;cas<=t;cas++){scanf("%s%s%s",sa+1,sb+1,p+1);lena=strlen(sa+1);lenb=strlen(sb+1);lenp=strlen(p+1);//printf("%d %d %d\n",lena,lenb,lenp);printf("Data set %d: ",cas);if(lena+lenb!=lenp || sa[lena]!=p[lenp]&&sb[lenb]!=p[lenp]){puts("no");continue;}memset(dp,-1,sizeof(dp));bool OK=funDP(lena,lenb);if(OK)puts("yes");else puts("no");}}
- poj 2192 记忆化&dfs
- POJ 1088 滑雪 DFS 记忆化搜索
- poj 1088 DFS+记忆化搜索
- POJ 1088 滑雪 DFS 记忆化搜索
- poj 1088 滑雪 【记忆化搜索】+【DFS】
- poj 1088 滑雪(DP+记忆化dfs)
- POJ 1088--滑雪【DFS(记忆化)】
- POJ 1088 滑雪(记忆化搜索+DFS)
- poj 1088 滑雪(dfs记忆化搜索)
- POJ 1088 滑雪(DFS+记忆化)
- POJ 1088 滑雪(记忆化dfs)
- POJ 2362 square &&POJ 1011 Sticks 记忆化搜索 DFS
- poj 1088 滑雪(DFS +DP 记忆化搜索)
- POJ 1179 Polygon 记忆化dfs vs dp
- POJ 1191 棋盘分割 简单记忆化dfs
- poj--1579--(DFS+记忆化搜索之经典)
- poj--1088--DFS(记忆化搜索之经典)
- POJ-1088-动规-DFS+记忆化搜索
- 爱情需要调味料——酸甜苦辣
- MYSQL调优案例一条
- android contentProvider
- easyUI 从标记创建Tree
- 设置CentOS防火墙开放端口
- poj 2192 记忆化&dfs
- Lucas定理的一个证明
- SQLite 3.7.13的加密解密(二)—— 开放宏定义
- QT多线程同步小结
- iOS auto testing related summary
- (转)关于Winnet的若干整理
- 判断日期是否合法的方法
- 关于ubuntu系统安装时的硬盘分区问题
- 16BPP与24BPP的相互转换