dp[0][0] =0;intlen2 =strlen(ss +1);for(inti =1; ss[i]; ++i) {if(ss[i] =='?') {for(intj =0; j < len; ++j) {if(dp[1- i %2][j] !=-1) {for(intk =0; k <26; ++k) { dp[i %2][prem[j][k]] =max(dp[1- i %2][j] + (prem[j][k] == len -1...
int dp[NN]; int n,m; #define dp(i,j) dp[(i)*(m+5)+j] int main() { scanf("%s%s",T+1,P+1); n=strlen(T+1),m=strlen(P+1); f[1]=f[2]=1;FOR(i,0,25)F[1][i]=1+(P[1]-'a'==i); FOR(i,2,m) { f[i+...