您的位置:首页 > 产品设计 > UI/UE

HDU 5918 Sequence I CCPC 长春 暴力求解

2016-10-05 15:56 567 查看
                     好吧,真的就是暴力求解。。枚举可能出现的位置,然后暴力求解。。。KMP我感觉用处不是很大,这里的情况是模式串和文本串长度相同的情况下做许多次比较,嗯,文本串并不是很长。。

                    #include<cstdio>
#include<cstring>

using namespace std;
const int maxm=1E+6+10;

int n,m,p,a[maxm],b[maxm],t,ans,ca=1;
bool flag=true;

int main(){
scanf("%d",&t);
while(t--){
scanf("%d%d%d",&n,&m,&p);
for(int i=1;i<=n;++i)
scanf("%d",&a[i]);
for(int i=1;i<=m;++i)
scanf("%d",&b[i]);
for(int q=1;q+(m-1)*p<=n;++q,flag=true){
for(int i=0;i<=m-1;++i)
if(a[q+i*p]!=b[i+1])
flag=false,i=m;

if(flag)
++ans;
}
printf("Case #%d: %d\n",ca++,ans);
ans=0;flag=true;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息