[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I POJ 3080
来源:互联网 发布:淘宝电商是什么意思 编辑:程序博客网 时间:2024/05/16 06:16
题目地址:https://vjudge.net/contest/70325#problem/I
思路:暴力枚举+KMP。
AC代码:
#include<iostream>#include<cstring>#include<cstdio>using namespace std;const int maxn=60+10;char a[15][maxn];char t[maxn],s[maxn];char res[maxn];int tlen,slen;int Next[maxn];int caset;void getNext(){ int j,k; j=0,k=-1,Next[0]=-1; while(j<tlen) { if(k==-1 || t[j]==t[k]) Next[++j]=++k; else k=Next[k]; }}int KMP_Index(){ int i=0,j=0; while(i<slen && j<tlen) { if(j== -1 || s[i]==t[j]) i++,j++; else j=Next[j]; } if(j==tlen) return 1; else return 0;}int main(){ scanf("%d",&caset); while(caset--) { memset(res,0,sizeof(res)); memset(a,0,sizeof(a)); int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%s",a[i]); int ll=strlen(a[1]); int ans=-1; for(int i=0;i<ll;i++) { int num=0; for(int j=i;j<ll;j++) { t[num++]=a[1][j]; int flag=true; tlen=strlen(t); getNext(); //printf("%s %d\n",t,i); for(int k=2;k<=n;k++) { strcpy(s,a[k]); slen=strlen(s); if(!KMP_Index()) { flag=false; break; } } if(!flag) continue; if(tlen==ans) { if(strcmp(t,res)<0) strcpy(res,t); } else if(tlen>ans) { ans=tlen; strcpy(res,t); } } memset(t,0,sizeof(t)); } if(ans<3) printf("no significant commonalities\n"); else puts(res); }}
0 0
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I POJ 3080
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher G POJ 2406
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher H POJ 2752
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J (kmp扩展)
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K (kmp扩展)
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher L(kmp扩展)
- 【 题集 】 【kuangbin带你飞】专题十六 KMP & 扩展KMP & Manacher
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher A HDU 1711
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher B HDU 1686
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher C HDU 2087
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher D HDU 3746
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher E HDU 1358
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher F HUST 1010
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J HDU 2594
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K HDU 3336
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher(1) A-H
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher 题目分析
- [kuangbin带你飞]专题十六 KMP & 扩展KMP
- Reed Solomon纠删码
- 第9周项目4-广义表算法库及应用(2)
- C# 加载xml文档文件及加载xml字符串
- Python 小技巧——<Cookbook>读书笔记(2)deque和heapq
- Java设计模式——线程安全的单件模式
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I POJ 3080
- java.lang.IllegalArgumentException: Control character in cookie value or attribute
- Xcode8支持iOS7真机测试
- Log4j使用教程
- caffe层解读系列——hinge_loss
- OpenCasCade的显示模块(visulation模块)概要说明
- Android自学笔记-5-click事件的四种写法
- PHP: session.gc_maxlifetime vs. session.cookie_lifetime
- 分布式系统中利用zookeeper集群实现微服务主备切换代码片段(C语言版)