HDU1867 A + B for you again
来源:互联网 发布:淘宝卖家卖出多久到账 编辑:程序博客网 时间:2024/05/20 06:05
简单的KMP,两个单词链接起来,有两种连接方法,然后用next数组的特性,直接得到
比较这两个连接的字符串的自身匹配。。。。
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;char a[100005],b[100005],c[200005],str1[200005],str2[200005];int next[200005];void kmp(int len){ int j=0; memset(next,0,sizeof(next)); for(int i=1;i<len;i++) { while(j>0&&c[i]!=c[j]) j=next[j-1]; if(c[i]==c[j]) j++; next[i]=j; }}int main(){ int i,j,len,len1; char d[]="#"; while(scanf("%s %s",b,a)!=EOF) { memset(c,0,sizeof(c)); memset(str1,0,sizeof(str1)); memset(str2,0,sizeof(str2)); strcpy(c,a); strcat(c,d); strcat(c,b); int len2=strlen(c); kmp(len2); len=strlen(a); len1=strlen(b); int t=0; for(i=0;i<len1-next[len2-1];i++) str1[t++]=b[i]; for(i=0;i<len;i++) str1[t++]=a[i]; memset(c,0,sizeof(c)); strcpy(c,b); strcat(c,d); strcat(c,a); kmp(len2); t=0; for(i=0;i<len-next[len2-1];i++) str2[t++]=a[i]; for(i=0;i<len1;i++) str2[t++]=b[i]; //printf("%s\n",str1); //printf("%s\n",str2); len1=strlen(str1); len2=strlen(str2); if(len1<len2) printf("%s\n",str1); else if(len1>len2) printf("%s\n",str2); else { int ttt=strcmp(str1,str2); if(ttt<0) printf("%s\n",str1); else printf("%s\n",str2); } } return 0;}
0 0
- 【KMP】 hdu1867 A + B for you again
- HDU1867:A + B for you again
- hdu1867 A + B for you again KMP
- hdu1867 A + B for you again
- HDU1867 A + B for you again
- hdu1867 A + B for you again (KMP)
- HDU1867 A + B for you again
- HDU1867 - A + B for you again(KMP)
- hdu1867---A + B for you again
- HDU1867:A + B for you again(KMP)
- hdu1867 A + B for you again(kmp)
- HDU1867:A + B for you again【kmp】
- hdu1867—A + B for you again
- HDU1867 A + B for you again KMP应用
- 【hdu1867】A + B for you again——KMP
- A + B for you again hdu1867(KMP的应用)
- 【KMP】hdu1867(A + B for you again) 杭电java a题真坑
- A + B for you again
- backtrace有的情况会崩溃
- java反射
- 手把手教你在ubuntu上安装apache和mysql和php
- Python/Perl/Shell 输出彩色字体
- 博客搬家
- HDU1867 A + B for you again
- 函数通常返回多个值
- web服务器
- ExtJS的分页
- 用Vim写一个简单的Hello,World程序
- 蓝桥杯 地宫取宝
- 字符编码笔记
- 可拆卸机器人真空吸尘器—HANDY VA 能够解决一切卫生死角
- Mongodb基础用法及查询操作