Comp20211218
导入com。星期日工具。javac。乌提尔。断言;
导入com。星期日工具。javac。乌提尔。配对;
导入javax。jws。肥皂。Soap绑定;
导入javax。摇摆。文字。html。选项;
导入Java。朗。反思。字段;
导入Java。乌提尔。*;
导入Java。乌提尔。小溪。溪流;
/*
aabaacabaac
四
a.aa*c
aa.b
a*b
b*a
*/
公共类主要的
私有静态布尔beFound=false
私有静态布尔meetStart=false
私有静态空的解析(int[][] dp,int x,int y,String raw,String pat,boolean IsMatch){ 0
int row=pat。length();
int col=raw。length();
if (x 1行){ 0
如果(帕特。charat(x 1)=' * '
meetStart=真
if(x 1==row-1){ 0
系统。出去。println(DP[x][y]' '(y ^ 1));
beFound=true
返回;
}
if(y 0 DP[x 1][y]0){ 0
返回;
}
int weight=DP[x][y];
int temp=y;
while(temp col){ 0
DP[x1][温度]=重量;
解析(dp,x 1,temp,raw,pat,IsMATCHED);
if(BeFound){ 0
返回;
}
温度;
}
} else {
if(!ISMATTEL){ 0
如果(帕特。charat(x)==' * '(pat。charat(x 1)=' . '| | pat . charat(x 1)=raw . charat(y)))
if(y 0 DP[x 1][y]0){ 0
返回;
}
DP[x 1][y]=DP[x][y];
解析(dp,x 1,y,raw,pat,true);
}
} else if(y 1列){ 0
if (pat.charAt(x 1)=' . '|帕特。charat(x 1)=raw。charat(y 1)){ 0
if(y 0 DP[x 1][y 1]0){ 0
返回;
}
DP[x 1][y 1]=DP[x][y];
if(x 1==row-1){ 0
系统。出去。println(DP[x][y]' '(y ^ 2));
beFound=true
返回;
}
解析(dp,x 1,y 1,raw,pat,true);
}
}
}
}
}
公共静态void main(字符串[]参数)引发ClassNotFoundException {
扫描仪cn=新扫描仪(系统。in);
字符串raw=cn。nextline();
int CNT=整数。par sent(cn。nextline());
for(int I=0;一、碳纳米管;I){ 0
string pat=cn。NextLine();
int row=pat。length();
int col=raw。length();
int[][]DP=new int[row][col];
beFound=false
meetStart=false
for(int n=0;n栏;n){ 0
if (pat.charAt(0)==' . '|帕特。charat(0)=raw。charat(n)){ 0
DP[0][n]=n ^ 1;
}
如果(帕特。charat(0)=' *)
DP[0][n]=1;
}
}
布尔匹配=pat.charAt(0)!='*';
for(int m=1;m排;m){ 0
if(DP[m-1][0]==0){ 0
打破;
}
如果(帕特。charat(m)=' *)
DP[m][0]=DP[m-1][0];
}
如果(帕特。charat(m-1)=' *!匹配(pat.charAt(m)=='。| | pat . charat(m)=raw . charat(0)))
匹配=真
DP[m][0]=DP[m-1][0];
}
}
if(DP[行-1][0]0){ 0
系统。出去。println(' 11 ');
继续;
}
for(int n=0;n栏;n){ 0
if (dp[0][n] 0)
系统。出去。println(' meet ');
解析(dp,0,n,raw,pat,pat.charAt(0)!='*');
if(BeFound | | MeetStart){ 0
打破;
}
}
}
if(!beFound){ 0
系统。出去。println(' 0 0 ');
}
}
}
}
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151776.html