2009年11月21日 星期六

TIOJ 1577 萬用字元(wildcard) ( 97北市賽 prob 2 )

poao899    -16K    1763MS    G++     0.48K     2009-11-17 11:16:49                         .

暴力會過,不過聽說可以Greedyˊˋ



//***************************
#include<stdio.h>
#include<string.h>
char find[30],in[30];
int flen,len;
bool chk(int i,int j){
//printf("%d %d \n",i,j);
if(i==flen&&j==len)return 1;
if(find[i]=='$'){
for(int k=j;k<=len;k++)
if(chk(i+1,k))
return 1;
return 0;
}
if(i==flen||j==len)return 0;
if(find[i]==in[j])
return chk(i+1,j+1);
return 0;
}
main(){
gets(find);
flen=strlen(find);
//printf("%d\n",flen);
while(gets(in)){
len=strlen(in);
if(chk(0,0))
puts(in);
}


沒有留言:

張貼留言