HDU 1867 A + B for you again(KMP)
来源:互联网 发布:matlab根据数据绘图 编辑:程序博客网 时间:2024/06/04 18:06
题目链接:点击打开链接
思路:KMP水题。
// HDU 1876 A + B for you again 运行/限制:46ms/1000ms#include <cstdio>#include <cstring>#include <iostream>using namespace std;char s[100005], p[100005];int Next[100005];void getNext(char s[], int n) {int i, j;i = -1;j = 0;Next[0] = -1;while (j < n) {if (i == -1 || s[i] == s[j]) {i++;j++;if (s[j] == s[i]) {Next[j] = Next[i];}else {Next[j] = i;}}else {i = Next[i];}}}int kmp(char s[], char p[], int n, int m) {int i, j;i = j = 0;getNext(s, n);while (j < m) {if (i == -1 || s[i] == p[j]) {i++;j++;}else {i = Next[i];}}return i;}int main(){int n, m, x, y;while (scanf("%s%s", s, p) != EOF) {n = strlen(s);m = strlen(p);x = kmp(s, p, n, m);y = kmp(p, s, m, n);if (x > y || (x == y && strcmp(p, s) < 0)) {printf("%s%s\n", p, s + x);}else {printf("%s%s\n", s, p + y);}} return 0;}
阅读全文
1 0
- hdu 1867 A + B for you again(KMP)
- HDU 1867 A + B for you again(KMP)
- HDU 1867 A + B for you again(KMP)
- hdu -- 1867 A + B for you again (KMP)
- hdu 1867——A + B for you again(KMP)
- KMP-hdu-1867 A + B for you again
- hdu 1867 A + B for you again (KMP)
- HDU 1867 A + B for you again KMP
- hdu 1867 KMP A + B for you again
- HDU 1867 A + B for you again(简单KMP)
- HDU 1867 A + B for you again (KMP)
- HDU(1867)A + B for you again (KMP)
- hdu 1867 A + B for you again (kmp)
- hdu 1867 A + B for you again kmp
- hdu 1867 A + B for you again(KMP)
- hdu 1867 A + B for you again KMP算法
- HDU 1867 A + B for you again KMP题解
- HDU 1867 A + B for you again (KMP应用)
- 解析索引
- PAT1013 数素数
- Linux多任务简介
- 并行串行通信方式图解
- conda环境管理介绍
- HDU 1867 A + B for you again(KMP)
- 泛化上界的证明——为什么机器能进行学习和预测?
- 预告:眼控在VR领域怎么用? | 硬创公开课
- 使用V.P.S 搭建上网环境
- 这家逼格十足的公司,一年营收超千万,今天登陆新三板
- 腾讯邵付东:“互联网+”时代需要反诈骗流程革命
- idea某个目录全变为红色问题解决
- Python基础一(基本类型和运算符)
- 决策树ID3算法原理