Contents

Develop
2013.04.23 15:42

[c] kmp 활용 search

조회 수 7439 댓글 0
Atachment
첨부 '1'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

예제 코드

#include <stdio>
#include <string>

char str[100005];
char comp[1005];
int pi[1005];

inline bool process()
{
    int i;
    int l , l2 , k;
    
    l = strlen(comp) - 1;
    // Pi 배열 생성 ; O(m)
    
    pi[1] = 0;
    k = 0;
    
    for(i=2; i<=l; i++)
    {
        while(k>0 && comp[k + 1]!=comp[i])
        {
            k = pi[k];
        }
        
        if(comp[k + 1] == comp[i]) k++;
        pi[i] = k;
    }
    // KMP 활용
    l2 = strlen(str) - 1;
    k = 0;
    
    for(i = 1; i <= l2; i++)
    {
        while(k>0 && comp[k + 1]!=str[i])
        {
            k = pi[k];
        }
        
        if(comp[k + 1] == str[i]) k++;
        if(k == l) return 1;
    }
    return 0;
}

int main()
{
    int tn , n , i;
    scanf("%d" , &tn);

    while(tn--)
    {
        scanf("%s" , str + 1);
        str[0] = ' ';
        scanf("%d" , &n);
        
        for(i = 1; i <= n; i++)
        {
            scanf("%s" , comp + 1);
            comp[0] = ' ';
            printf("%c\n" , (process()) ? 'y' : 'n');
        }
    }
    
    return 0;
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
841 Develop '2014 모바일 개발 트렌드' 발표자료입니다. file hooni 2014.10.02 1140
840 Develop Aspect Oriented Programming in Objective-C hooni 2015.05.18 952
839 Develop DDay Memo 1.9.4 소스코드 secret hooni 2015.10.03 0
838 Develop GCM 사용하기 2 (단말에 GCM 구현하기) file hooni 2013.07.06 23418
837 Develop GCM 사용하기 3 (JSP로 GCM 푸시 서버 만들기) 4 file hooni 2013.07.06 25431
836 Develop git 브런치 배우기 (링크) hooni 2013.07.09 20702
835 Develop GPL, AGPL, MPL,.. 한눈에 보는 오픈소스SW 라이선스 file hooni 2014.10.14 1273
834 Develop How to Test SMTP AUTH using Telnet hooni 2018.04.05 1596
833 Develop JSON, BSON 변환 file hooni 2013.04.23 11878
832 Develop Laravel 5 Failed opening required bootstrap/../vendor/autoload.php hooni 2018.01.24 1844
831 Develop Mac OS 에 Jenkins 설치하기 (Homebrew) 2 file hooni 2017.03.15 8411
830 Develop macOS에 node, npm 설치하기 (homebrew) file hooni 2021.11.06 1481
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71