题意:不说了很好懂、

这题这么水= =。。。当时竟然没有勇气暴力搜一下。昨天(好吧前天。)比赛的时候胃疼,看到这题想了一个办法就是对每一个出现最短的C串前后连接然后对这个串求最长公共子序列。其实优化一下就是现在的答案啊~~!!!!给赵鹏说了赵鹏说不可能这么过。。然后就没想。就这样这么水的一道题都没过!!!!桑心啊~

代码:

 #include <iostream>
#include <string.h>
#include <stdio.h>
#include <vector>
using namespace std;
char sa[];
char sb[];
char sc[];
int c[][];
int d[][];
struct node
{
int s,e;
};
int main()
{
int t;
//freopen("in.txt","r",stdin);
// freopen("out1.txt","w",stdout);
int cas;
cas = ;
scanf("%d",&t);
while(t--)
{ vector<node>vc,vd;
scanf("%s",sa+);
scanf("%s",sb+);
scanf("%s",sc+); int len1,len2,len3;
len1 = strlen(sa+);
len2 = strlen(sb+);
len3 = strlen(sc+);
int i,j;
memset(c,,sizeof(c));
memset(d,,sizeof(c)); for(i = ;i <= len1;i++)
{
for(j = ; j <= len2; j++)
{
if(sa[i] == sb[j])
c[i][j] = c[i-][j-]+;
else
c[i][j] = max(c[i-][j],c[i][j-]);
}
} for(i = len1;i>= ;i--)
{
for(j = len2; j >= ; j--)
{
if(sa[i] == sb[j])
d[i][j] = d[i+][j+]+;
else
d[i][j] = max(d[i+][j],d[i][j+]);
}
} for(i = ;i <= len1;i++)
{
int cnt;
cnt = ;
if(sa[i] == sc[])
{
for(j = i;j <= len1;j++)
{
if(sa[j] == sc[cnt])
cnt++;
if(cnt > len3)
{
struct node tmp;
tmp.s = i,tmp.e = j;
vc.push_back(tmp);
break;
}
}
}
}
for(i = ;i <= len2;i++)
{
int cnt;
cnt = ;
if(sb[i] == sc[])
{
for(j = i;j <= len2;j++)
{
if(sb[j] == sc[cnt])
cnt++;
if(cnt > len3)
{
struct node tmp;
tmp.s = i;tmp.e = j;
vd.push_back(tmp);
break;
}
}
}
}
// printf("%d %d\n",c[len1][len2],d[1][1]);
int f,r;
int ans = ;
for(i = ;i < vc.size();i++)
{
for(j= ;j < vd.size();j++)
{
if(vc[i].s == ||vd[j].s == )
f = ;
else f = c[vc[i].s-][vd[j].s-];
if(vc[i].e == len1||vd[j].e == len2)
r = ;
else
r = d[vc[i].e+][vd[j].e+];
ans = max(ans,f+r+len3);
}
// printf("%d****\n",i);
} printf("Case #%d: %d\n",++cas,ans);
//cout<<ans<<endl; } return ;
}

最新文章

  1. Python成长笔记 - 基础篇 (八)
  2. 了解HTML表单之13个表单控件
  3. 【转】eclipse导入V7包出现错误解决办法
  4. 在Xcode6.4中使用OpenCV
  5. Log4Net 配置StmpAppender
  6. iOS开发--CornerStone上传静态库(.a文件)
  7. Atmega8型号细分区别
  8. extjs combobox 设置下拉时显示滚动条 设置显示条数
  9. discuznt学习笔记
  10. 在NSMutableArray中添加空元素:NSNull类的使用
  11. zabbix监控特定脚本有无生成
  12. Floyd(求每2个点之间的最短路)
  13. 【python】Python的安装和配置
  14. Java之List使用方法
  15. linux选择sdb sdb4 fat32 还是sda分区
  16. 8.Appium的基本使用-3(安装JDK、android-sdk)
  17. 一起学习MVC(2)Global.asax的学习
  18. 对《SQL Server中tempdb的management》的一些更正和补充
  19. 解读Python编程中的命名空间与作用域
  20. 深入浅出Redis-redis哨兵集群[转]

热门文章

  1. 微信小程序组件loading
  2. Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) C - Jon Snow and his Favourite Number
  3. Java并发编程之CountDownLatch的用法
  4. motan rpc
  5. wamp5.5.12安装re dis扩展
  6. OpenStack、KVM、VMWare和Docker
  7. U盘中了磁碟机病毒怎么办
  8. CentOS系统下yum命令的详细使用方法
  9. python计算纪念日相关
  10. 高手用的SourceInsight配置文件——仿Sublime风格【转】