现给定一段文本,请编写程序识别出连续的k个“edgnb”组成的字符串在该文本中出现了多少次。
输入格式:
第一行为1个整数T,表示数据组数。对于每组数据,第一行为1个字符串,表示给定的文本。第二行为1个整数k,含义如题目所述。(1≤T≤10。各组数据给定的字符串长度之和不超过10
5
,且字符串中只包含a-z的小写字母。k≥1且k×5小于给定字符串长度)。
输出格式:
对于每组数据输出一行,为1个整数,表示所求的出现次
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
int n,i;
scanf("%d",&n);
char a[10000];
for(i=1;i<=n;i++){
getchar();
gets(a);
int k;
scanf("%d",&k);
int sum=0;
int length;
length=strlen(a);
int j=1;
int g;
while(j<=length){
if(a[i]=='e'){
j++;
if(a[j]=='d'){
j++;
if(a[j]=='g'){
j++;
if(a[j]=='n'){
j++;
if(a[j]=='b'){
j++;
g=j/5;
sum=sum+1;
}
else break;
}
else break;
}
else break;
}
else break;
}
else break;
}
printf("%d",sum);
}
}
自己瞎写的,实在不会写,该怎么写
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
数据规模:
测试点0:5≤T≤10,400≤T个字符串长度之和≤500,k=1
测试点1:5≤T≤10,400≤T个字符串长度之和≤500,k≥1
测试点2:5≤T≤10,4000≤T个字符串长度之和≤5000,k≥1
测试点3:1≤T≤3,90000≤T个字符串长度之和≤100000,k≥1
测试点4:1≤T≤3,90000≤T个字符串长度之和≤100000,k≥1