poj 1816 Trie + DFS 매 칭 모드 문자열
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 4887
Accepted: 1274
Description
A word is a string of lowercases. A word pattern is a string of lowercases, '?'s and '*'s. In a pattern, a '?' matches any single lowercase, and a '*' matches none or more lowercases.
There are many word patterns and some words in your hand. For each word, your task is to tell which patterns match it.
Input
The first line of input contains two integers N (0 < N <= 100000) and M (0 < M <=100), representing the number of word patterns and the number of words. Each of the following N lines contains a word pattern, assuming all the patterns are numbered from 0 to N-1. After those, each of the last M lines contains a word.
You can assume that the length of patterns will not exceed 6, and the length of words will not exceed 20.
Output
For each word, print a line contains the numbers of matched patterns by increasing order. Each number is followed by a single blank. If there is no pattern that can match the word, print "Not match".
Sample Input
5 4
t*
?h*s
??e*
*s
?*e
this
the
an
is
Sample Output
0 1 3
0 2 4
Not match
3
일치 하 는 패턴 문자열 은 정규 표현 식 과 유사 합 니 다. 컴 파일 원 리 를 배 울 때 일치 하 는 문자열 을 기억 하고 상태 기 를 구축 해 야 합 니 다. 종이 에 그림 을 그 렸 을 때 AC 자동 동기 와 차이 가 많 지 않 지만 Trie 만 있 으 면 됩 니 다. Trie 로 상태 기 를 만 든 다음 DFS 로 일치 하면 됩 니 다. 특수 처리 해 야 할 것 은 * 의 일치 입 니 다. 비어 있 거나 여러 개 로 일치 할 수 있 습 니 다.몇 개의 구덩이 점 을 주의 하 십시오. 1. 패턴 문자열 은 중 복 될 수 있 습 니 다. 2. 오름차 순 으로 출력 -. - 3. 같은 문자열 이 같은 패턴 과 일치 하면 중 복 될 수 있 는 방법 (예 를 들 어 * a * a 와 aa) 이 있 습 니 다.
#include
#include
#include
#include
#include
#include
#include
#include
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제1 6 장 파일 에서 텍스트 검색 도구: grep 명령 과 egrep 명령제1 6 장 파일 에서 텍스트 검색 도구: grep 명령 과 egrep 명령 옵션 grep 명령 파일 에서 단 어 를 검색 하면 명령 은 "match pattern"을 포함 하 는 텍스트 줄 을 되 돌려 줍 니 다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.