uva 11081 Strings 字符串匹配
2013-03-13 19:25
351 查看
uva 11081
#include<stdio.h> #include<string.h> #define s 66 char s1[s],s2[s],s3[s]; int f1[s][s][s],f2[s][s][s],f[s][s][s]; int l1,l2,l3; int main() { int i,j,k,n; scanf("%d",&n); while(n--) { scanf("%s %s %s",s1+1,s2+1,s3+1); memset(f1,0,sizeof(f1)); memset(f2,0,sizeof(f2)); memset(f,0,sizeof(f)); l1=strlen(s1+1); l2=strlen(s2+1); l3=strlen(s3+1); for(i = 0; i <= l1; i ++) for(j = 0; j <= l2; j ++) f[i][j][0] = 1, f1[i][j][0] = 1, f2[i][j][0] = 1; for(k=1;k<=l3;k++) { for(i=0;i<=l1;i++) { for(j=0;j<=l2;j++) { if(i) { f1[i][j][k]=f1[i-1][j][k]; if(s1[i]==s3[k]) { f1[i][j][k]+=f[i-1][j][k-1]; f1[i][j][k]%=10007; } } if(j) { f2[i][j][k]=f2[i][j-1][k]; if(s2[j]==s3[k]) { f2[i][j][k]+=f[i][j-1][k-1]; f2[i][j][k]%=10007; } } f[i][j][k]=(f1[i][j][k]+f2[i][j][k])%10007; } } } printf("%d\n",f[l1][l2][l3]); } return 0; }
相关文章推荐
- UVa 11081 Strings(字符串匹配DP)
- uva 11081 - Strings(LCS)
- UVa 409 Excuses, Excuses! (字符串匹配)
- 【字符串匹配】UVALive 4670 模板题
- UVa 10010 Where's Waldorf? (八方向字符串匹配&模板题)
- Uva11019——二维字符串匹配
- UVA-1588-Kickdown:简单字符串匹配
- Strings - UVa 11081 dp
- uva 11081 Strings(递推)
- HDU6208 The Dominator of Strings 字符串匹配 2017 ACM/ICPC Asia Regional Qingdao Online
- UVa 489 Hangman Judge (模拟&字符串匹配)
- 【Uva11019】Matrix Matcher【AC自动机】【二维字符串匹配】
- UVA 11081 Strings
- HDU 6208:The Dominator of Strings(字符串匹配)
- Codeforces Round #410 (Div. 2) B. Mike and strings(字符串匹配)
- uva 11081 - Strings(LCS)
- UVA - 11081 Strings
- UVA 11081 Strings
- UVA 11081 - Strings
- uva:10340 - All in All(字符串匹配)