wildcard 질문요~ gs12037 대체 어느 부분이 틀린지 모르겠어요. #include <stdio.h> #include <string> #include <algorithm> using namespace std; int cache[110][110],test,n,cnt; char temp[110]; string W,S,ans[600]; int com(string i,string j){ return i<j; } bool matchMemoized(int w,int s){ int& ret=cache[w][s]; if (ret!=-1) return ret; while(s<S.size() && w<W.size() && (W[w]=='?' || W[w]==S[s])){ w++; s++; } if (w==W.size()) return ret=(s==S.size()); if (W[w]=='*') if (matchMemoized(w+1,s) || (s<S.size() && matchMemoized(w,s+1))) return ret=1; return ret=0; } int main(){ int i,j; scanf("%d",&test); for (i=1;i<=test;i++){ scanf("%s",temp); W=temp; scanf("%d",&n); for (j=1;j<=n;j++){ // memset(cache,-1,sizeof(cache)); for (int p=0;p<102;p++) for (int q=0;q<102;q++) cache[p][q]=-1; scanf("%s",temp); S=temp; if (matchMemoized(0,0)) ans[++cnt]=temp; } } sort(ans+1,ans+cnt+1,com); for (i=1;i<=cnt;i++) printf("%s\n",ans[i].c_str()); return 0; } 11년 전
5개의 댓글이 있습니다. Kureyo 코드가 제대로 보이지를 않아서 확인을 못하겠네요. edit눌러서 코드를 어떻게 붙여넣는지 방법을 확인해보고 수정해주세요. 11년 전 link gs12037 수정했습니다 ㅠ 11년 전 link Kureyo 마지막에 전체 답안을 정렬하는것이 아니라 각 test case마다 정렬을 해서 출력해야할거같습니다 @_@; 11년 전 link Signin 네 Kureyo 님 말씀대로 고치면 잘 됩니다 :) 11년 전 link gs12037 으엉으 그렇군요 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
gs12037
대체 어느 부분이 틀린지 모르겠어요.
11년 전