南阳OJ Binary String Matching
来源:互联网 发布:剑网明教成男捏脸数据 编辑:程序博客网 时间:2024/05/04 17:07
Binary String Matching
- 描述
- Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear as a substring of B? For example, the text string B is ‘1001110110’ while the pattern string A is ‘11’, you should output 3, because the pattern A appeared at the posit
- 输入
- The first line consist only one integer N, indicates N cases follows. In each case, there are two lines, the first line gives the string A, length (A) <= 10, and the second line gives the string B, length (B) <= 1000. And it is guaranteed that B is always longer than A.
- 输出
- For each case, output a single line consist a single integer, tells how many times do B appears as a substring of A.
- 样例输入
31110011101101011100100100100011010110100010101011
- 样例输出
303
- 来源
- 网络
- 上传者
naonao
此题如果用数组做的话,是一道水体,但是作为训练数据结构的话,还是有点小难度的-----至少个人是这么认为的
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct node
{
char a;
struct node *next;
}Node;
int i;
bool flag=true;
int main( void )
{
Node *head,*p1,*p2;
int t,n,count;
scanf("%d",&t);
getchar();
while(t--)
{
head=NULL;
count=n=0;
p1=p2=( Node * )malloc( sizeof(Node) );
char str[10]={'\0'};
gets(str);
//getchar();
while(p1->a=getchar(),p1->a!='\n')
{
if(n++==0)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(Node*)malloc(sizeof(Node));
}
p2->next=NULL;
p1=head;
/* while(p1!=NULL)
{
putchar(p1->a);
p1=p1->next;
}
puts("");
*/
while(p1!=NULL)
{
while(p1!=NULL&&p1->a!=*str) //找到第一个位置
{
p1=p1->next;
}
if(p1!=NULL) //防止万一没有找到
{
p2=p1->next;
for( ::i=0; str[i]!='\0'; i++ )
{
if(str[i]==p1->a)
{
p1=p1->next;
}
else
{
::flag=false;
p1=p2;
break;
}
if((p1==NULL&&str[i+1]!='\0'))
{
::flag=false ;
break;
}
}
if(::flag)
{
p1=p2 ;
count++;
}
else
::flag=true;
}
}
free(head);
printf("%d\n",count);
}
return 0;
}
- 南阳OJ Binary String Matching
- 南阳oj 5 Binary String Matching
- 南阳理工oj-5 Binary String Matching
- Binary String Matching(南阳理工OJ)
- 【南阳oj 】练习题 5 Binary String Matching
- 南阳--Binary String Matching
- 南阳理工oj题目练习---Binary String Matching
- 南阳ACM5-Binary String Matching
- 南阳理工ACM 5Binary String Matching
- 南阳理工ACM-题目5-Binary String Matching
- 【南理oj】5 - Binary String Matching(水)
- Binary String Matching
- Binary String Matching
- Binary String Matching
- Binary String Matching
- 【Binary String Matching 5】
- acm-Binary String Matching
- Binary String Matching
- CoInitializeEx
- 10个最酷的 Linux 单行命令
- poj1733 & Ural 1003 Parity Game (hash+并查集 )
- JS打印
- 创业篇之三:趋势与识人
- 南阳OJ Binary String Matching
- jquery得ajax执行顺序
- command设计模式和回调机制
- twitter分享问题(四)—— Unknown error(api v1过度到V1.1产生)
- 一个网页设计师应该考虑的9件事
- JBPM3.2表结构说明
- 修改android系统为可gdb调试
- 创业篇之四:宗教式的团队
- html中js调用as问题备忘