uva 531 Compromise
来源:互联网 发布:淘宝上新微淘不显示 编辑:程序博客网 时间:2024/06/12 01:49
LCS,输出还是没有想出来。
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int f[110][110],dp[110][110];char s1[110][35],s2[110][35];bool flag;void fun(int i,int j){ if(!i||!j) return; if(f[i][j]==1) {fun(i-1,j);return ;} if(f[i][j]==-1) {fun(i,j-1);return ;} fun(i-1,j-1); if(flag) printf(" %s",s1[i-1]); else{printf("%s",s1[i-1]);flag++;}}int main(){ int i,j,n1,n2; n1=n2=0; while(~scanf("%s",s1[n1])) { n1++; while(~scanf("%s",s1[n1])&&s1[n1][0]!='#') n1++; while(~scanf("%s",s2[n2])&&s2[n2][0]!='#') n2++; memset(dp,0,sizeof(dp)); for(i=1;i<=n1;i++) for(j=1;j<=n2;j++) { if(!strcmp(s1[i-1],s2[j-1])) { dp[i][j]=dp[i-1][j-1]+1; f[i][j]=0; } else if(dp[i][j-1]>dp[i-1][j]) { dp[i][j]=dp[i][j-1]; f[i][j]=-1; } else { dp[i][j]=dp[i-1][j]; f[i][j]=1; } } flag=0; fun(n1,n2); printf("\n"); n1=n2=0; } return 0;}
0 0
- uva 531 Compromise
- UVA 531 Compromise
- UVA 531 Compromise
- UVa 531 - Compromise
- UVa 531 - Compromise
- uva 531 - Compromise
- UVa 531 - Compromise
- Uva-531-Compromise
- UVa 531: Compromise
- UVa:531 Compromise
- UVA - 531 Compromise
- uva 531 Compromise
- uva 531 - Compromise
- uva 531 - Compromise
- UVa 531 - Compromise
- UVA - 531 Compromise
- UVA--531 Compromise
- UVA - 531 Compromise
- 微信公众平台与百度轻应用使用对比
- 1502200905-hd-畅通工程续
- hdu 3371 Connect the Cities Prim + Kruskal两种算法分别AC 水过~~~~
- 【ACM之旅】A+B Problem
- pat1031 Hello World for U
- uva 531 Compromise
- read and write files
- UVa 1160 - X-Plosives
- 小窝搭建
- flex自定义自带下拉查询功能的textinput
- 打开文件open()函数的使用方法详解--C语言函数
- Broken Keyboard
- 04. 零空间
- for i,j