hdu 1503 Advanced Fruits 公共子序列
来源:互联网 发布:一个端口的tcp连接数 编辑:程序博客网 时间:2024/05/14 22:17
/* ***********************************************Author :xryzEmail :xiang578@foxmail.comCreated Time :10-18 9:45:55File Name :h1503.cpp************************************************ */#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <math.h>#include <stdlib.h>#include <time.h>//#include <bits/stdc++.h>using namespace std;int dp[100+5][100+5],vis[100+5][100+5],fa[100+5];void dfs(int i,int j){ if(i==0||j==0) return; if(vis[i][j]==0) { fa[i]=j; dfs(i-1,j-1); } else if(vis[i][j]==1) { dfs(i-1,j); } else dfs(i,j-1);}int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); char a[100+5],b[100+5]; int i,j,n,m; while(~scanf("%s%s",&a,&b)) { n=strlen(a); m=strlen(b); memset(dp,0,sizeof(dp)); for(i=0;i<n;i++) for(j=0;j<m;j++) { if(a[i]==b[j]) { dp[i+1][j+1]=dp[i][j]+1; vis[i+1][j+1]=0; } else { if(dp[i][j+1]>dp[i+1][j]) { dp[i+1][j+1]=dp[i][j+1]; vis[i+1][j+1]=1; } else { dp[i+1][j+1]=dp[i+1][j]; vis[i+1][j+1]=-1; } } } memset(fa,0,sizeof(fa)); dfs(n,m); //for(i=1;i<=n;i++) // printf("%d ",fa[i]); for(i=0,j=0;i<n;i++) { if(fa[i+1]==0) { printf("%c",a[i]); } else { while(j<m&&j+1<=fa[i+1]) { printf("%c",b[j]); j++; } } } for(;j<m;j++) printf("%c",b[j]); printf("\n"); } return 0;}
0 0
- hdu 1503 Advanced Fruits 公共子序列
- hdu 1503 Advanced Fruits (公共子序列 的输出)
- hdu 1503 Advanced Fruits(最长公共子序列变形)
- HDU 1503(Advanced Fruits)最长公共子序列+路径记录
- hdu 1503 Advanced Fruits 最长公共子序列变形
- HDU 1503 Advanced Fruits (LCS最长公共子序列)
- HDU 1503 Advanced Fruits (公共子序列+输出)
- hdu 1503 Advanced Fruits(最长公共子序列的应用)
- hdu 1503 Advanced Fruits(最长公共子序列+路径记录)
- HDU 1503 Advanced Fruits(还原最长公共子序列、记录路径)
- hdoj 1503 Advanced Fruits 【最长公共子序列 变形】
- HDOJ 1503 Advanced Fruits (最长公共子序列 LCS)
- Advanced Fruits(最长公共子序列)
- POJ 2264 Advanced Fruits(最长公共子序列)
- POJ 2264 Advanced Fruits--最长公共子序列
- hdu1503 Advanced Fruits(DP 最长公共子序列变形)
- hdoj.1503 Advanced Fruits【最长公共子序列】 2015/04/15
- 暑期dp46道(29) HDOJ 1503 Advanced Fruits 最长公共子序列
- Android(ViewPager中的ViewPager)ViewPager FragmentPagerAdapter嵌套子ViewPager FragmentPagerAdapter页面不能正常显示
- ARM体系架构之——处理器工作模式
- VMware下安装MAC OS
- 20.Climbing Stairs
- UIView的常见属性及方法
- hdu 1503 Advanced Fruits 公共子序列
- C#属性
- 软件架构设计之常用架构模式介绍
- 判断一个整数转换成二进制后1的个数
- auto_ptr智能指针
- 简单二叉树的创建,连接树结点,二叉树的深度(转载)
- java--通过DOM4J方式生成rss文件简单实例
- Redis、memcache
- js 数组