POJ2250:Compromise(LCS)
来源:互联网 发布:bt下载器 mac 编辑:程序博客网 时间:2024/04/28 10:35
题意:
求最多的相同的单词,单词顺序是不变的,就是求出最长的公共单词串。
思路:
LCS。
代码:
#include<stdio.h>#include<string.h>char str1[105][32],str2[105][32];int Y;struct Node1{ int pre; int x;} map[105][105];struct Node2{ int x,y;} d[105];void LCS(int len1,int len2){ for(int i=1; i<=len1; i++) for(int j=1; j<=len2; j++) { if(strcmp(str1[i-1],str2[j-1])==0) { map[i][j].x=map[i-1][j-1].x+1; map[i][j].pre=2; } else if(map[i][j-1].x>map[i-1][j].x) { map[i][j].x=map[i][j-1].x; map[i][j].pre=3; } else { map[i][j].x=map[i-1][j].x; map[i][j].pre=1; } }}void digui(int i,int j,int cur){ if(i==0||j==0) { d[cur].x=i; d[cur].y=j; Y=cur; return ; } if(map[i][j].pre==1) { d[cur].x=i; d[cur].y=j; digui(i-1,j,cur+1); } else if(map[i][j].pre==2) { d[cur].x=i; d[cur].y=j; digui(i-1,j-1,cur+1); } else if(map[i][j].pre==3) { d[cur].x=i; d[cur].y=j; digui(i,j-1,cur+1); }}int main(){ while(scanf("%s",str1[0])!=EOF) { int i=1,len1,len2; while(scanf("%s",str1[i])!=EOF) { if(str1[i][0]=='#') { len1=i; break; } i++; } i=0; while(scanf("%s",str2[i])!=EOF) { if(str2[i][0]=='#') { len2=i; break; } i++; } for(i=0; i<=len1; i++) map[0][i].x=0; for(i=0; i<=len2; i++) map[i][0].x=0; LCS(len1,len2); digui(len1,len2,0); for(int i=Y-1; i>=0; i--) { if(map[d[i].x][d[i].y].x!=map[d[i+1].x][d[i+1].y].x) { printf("%s%c",str1[d[i].x-1],map[len1][len2].x==map[d[i].x][d[i].y].x?'\n':' '); } } }}
0 0
- POJ2250:Compromise(LCS)
- POJ2250:Compromise(LCS)
- POJ2250 Compromise (LCS)
- POJ2250 Compromise (LCS)
- poj2250 Compromise dp lcs 记录路径
- poj2250 - Compromise
- POJ2250 Compromise,map、dp
- POJ2250——Compromise
- POJ2250 Compromise(dp)
- POJ2250(compromise) 解题报告
- poj2250-打印单一LCS路径。
- POJ2250 Compromise DP最长公共子序列
- pku 2250 Compromise(LCS)
- [LCS]Uva531 Compromise
- 【POJ2250】Compromise (最长公共子序列,DP)
- POJ2250 & UVA 531 Compromise(字符串、 最长公共子序列)
- POJ2250---Compromise(dp,最长公共子序列,输出路径)
- uva531 - Compromise(动规,lcs)
- LeetCode OJ算法题(六):ZigZag Conversion
- 关于std:auto_ptr
- Hibernate总结系列
- LIS问题分析
- iOS截图 ,图片合成,画纯色UIimage
- POJ2250:Compromise(LCS)
- 《电脑知识与技术》诚邀2014年学术论文稿件!社内直收,超多优惠
- VMware中CentOS设置静态IP
- java.net.SocketException: Broken pipe
- 移动广告商(广告联盟)汇总
- IOS IB 画面之间的跳转和迁移
- 原生Javascript实现拖拽效果
- 移动硬盘数据恢复丨联想笔记本丨
- Data WareHouse