내용은 링크로 대체한다.
함께보기
#include <bits/stdc++.h> using namespace std; char s[101], p[101]; int slen, plen; int dp[101][101]; int match(int i, int j){ if(i >= plen) return j == slen; int& r = dp[i][j]; if(r != -1) return r; if(p[i] == '*'){ return r = (match(i+1, j) == 1 || match(i, j+1) == 1); } if(p[i] == s[j]) return r = match(i+1, j+1); return r = false; } int main(){ int n; scanf("%s %d ", p, &n); plen = strlen(p); while(n--){ memset(dp, -1, sizeof(dp)); scanf("%s ", s); slen = strlen(s); if( match(0, 0) == 1 ) puts(s); } return 0; }
댓글 없음:
댓글 쓰기