HDU2594 Simpsons’ Hidden Talents
来源:互联网 发布:c语言数组指针 编辑:程序博客网 时间:2024/05/29 18:49
思考:简单不模式匹配,稍加思考就可以做的题目。
#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>using namespace std;const int maxn = 50010;char a[maxn+5];char b[maxn+5];char t[maxn+5];char p[maxn+5];int f[maxn+5];char res[maxn+5];//Accepted25940MS632K1263 BC++Achiberxvoid getFail(){ int len = strlen(p); f[0] = 0, f[1] = 0; int j = 0; for(int i = 1; i < len; i++) { j = f[i]; if(j && p[j]!=p[i]) j = f[j]; f[i+1] = p[j]==p[i] ? j+1 : 0; }}void match() { getFail(); int len = strlen(t); int j = 0; for(int i = 0; i < len; i++) { while(j && t[i]!=p[j]) j = f[j]; if(t[i]==p[j]) j++; } int idx = 0; for(int i = j-1; i >= 0; i--) { res[idx++] = p[i]; } res[idx] = '\0'; if(j==0) printf("0\n"); else printf("%s %d\n", res, j);}int main(){ while(gets(a) && a[0]) { gets(b); int lena = strlen(a); int idx = 0; for(int i = lena-1; i >= 0; i--) { t[idx++] = a[i]; } t[idx] = '\0'; idx = 0; int lenb = strlen(b); for(int i = lenb-1; i >= 0; i--) { p[idx++] = b[i]; } p[idx] = '\0'; match(); } return 0;}
0 0
- HDU2594:Simpsons’ Hidden Talents
- hdu2594-Simpsons’ Hidden Talents
- hdu2594 Simpsons’ Hidden Talents
- hdu2594 Simpsons’ Hidden Talents
- HDU2594 Simpsons’ Hidden Talents
- HDU2594 Simpsons’ Hidden Talents
- HDU2594-Simpsons’ Hidden Talents
- hdu2594 Simpsons’ Hidden Talents
- HDU2594 Simpsons’ Hidden Talents
- 【KMP】 hdu2594 Simpsons’ Hidden Talents
- hdu2594 Simpsons’ Hidden Talents kmp
- HDU2594 Simpsons’ Hidden Talents 【KMP】
- hdu2594 Simpsons’ Hidden Talents(KMP)
- HDU2594 Simpsons’ Hidden Talents【KMP】
- HDU2594 Simpsons’ Hidden Talents KMP
- HDU2594 Simpsons’ Hidden Talents KMP
- Simpsons' Hidden Talents hdu2594 kmp
- HDU2594——Simpsons’ Hidden Talents
- 重装win7后,修复ubuntu引导方法
- Android开发代码规范
- 修改mysql默认字符集的方法
- 乘法口诀右对齐和左对齐
- JAVA I/O中面向字节的InputStream和OutputStream以及面向字符的Reader和Writer简介
- HDU2594 Simpsons’ Hidden Talents
- 笔记15--get/post提交数据到服务器
- C++11 右值引用
- ViewPager的使用指南
- C++ cin cout
- SQL语法的重要知识点总结
- DIY激光雕刻机之位图雕刻
- uva 1526 - Edge Detection(二分+排序)
- struts2返回json数据