NYOJ 5 바 이 너 리 문자열 매 칭 (데이터 구조)
시간 제한:
3000 ms | 메모리 제한:
65535 KB
난이도:
3
묘사 하 다.
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.
샘플 입력
3
11
1001110110
101
110010010010001
1010
110100010101011
샘플 출력
3
0
3
근원
네트워크
업로드 자
naonao
사고방식: 간단하게 비교 하면 돼. 돌 이 켜 보면 나 도 데이터 구조 와 무슨 관계 가 있 는 지 모 르 겠 어.
#include<stdio.h>
#include<string.h>
int main(){
int n,sum,i,j,flag,alen,blen;
char a[11],b[1001];
scanf("%d
",&n);
while(n--){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
gets(a); alen=strlen(a);
gets(b); blen=strlen(b);
sum=0;
for(i=0;i<(blen-alen+1);i++){
flag=1;
for(j=0;j<alen;j++)
if(b[i+j]!=a[j]) {
flag=0;
break;
}
if(flag==1) sum++;
}//flag=0 ,flag=1 a b
printf("%d
",sum);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.