KMP hdu 1711
来源:互联网 发布:淘宝返利机器人怎么用 编辑:程序博客网 时间:2024/05/22 12:32
#include<iostream>
using namespace std;
#define M 10000
#define N 1000000
int m , n;
int str[N];
int cmp[M] , next[M];
void InitNext()
{
int j , k;
next[0] = -1;
j = -1;
k = 0;
while( k < m )
{
if( j == -1 )
{ ++k; ++j; next[k] = j; }
if( cmp[k] == cmp[j] )
{ ++k; ++j; next[k] = j; }
else
{ j = next[j]; }
}
}
int IndexKMP()
{
int i , j;
i = 0;
j = 0;
while( i < n && j < m )
{
if( j == -1 )
{ ++j; ++i; }
if( cmp[j] == str[i] )
{ ++j; ++i; }
else
{ j = next[j]; }
}
if( j == m )
{ return i - j; }
else
{ return -2; }
}
int main()
{
int t;
int i;
scanf( "%d" , &t );
while( t-- )
{
scanf( "%d %d" , &n , &m );
for( i = 0 ; i < n ; ++i )
{ scanf( "%d" , &str[i] ); }
for( i = 0 ; i < m ; ++i )
{ scanf( "%d" , &cmp[i] ); }
InitNext();
printf( "%d/n" , IndexKMP() + 1 );
}
return 0;
}
- KMP hdu 1711
- hdu 1711(KMP)
- 【KMP应用】HDU 1711
- hdu 1711 裸KMP
- HDU 1711 裸KMP
- hdu 1711 朴素kmp
- HDU-1711(KMP)
- hdu 1711 kmp水体
- hdu 1711(KMP)
- HDU 1711 KMP 初级
- hdu 1711 kmp
- hdu-1711-kmp
- hdu 1711 KMP
- hdu 1711 kmp
- HDU 1711 KMP
- hdu 1711kmp裸题
- kmp hdu-1711
- KMP 模板 HDU 1711
- 取得电信网络和手机的相关信息之TelephonyManager与android.provider.settings.System
- c# 改变窗体形状
- Prefetching is
- 命令行中对文件的操作处理
- 给想转行做DBA的朋友一些劝告(转载)
- KMP hdu 1711
- C#将字符串转换为整型的三种方法的总结
- 他们恋爱了
- Deutsche Bank Shaves Trade Latency Down to 1.25 Microseconds
- 得了50个积分 真你妈爽
- 计算计算个人所得税2010
- android server例子
- 服务器管理之分割日志文件
- FarmIrrigation