Accepted
代码
#include<bits/stdc++.h>
using namespace std;
const int mod=1000000007;
int n,m,k;
long long f[202][202]={},g[202][202];
string s1,s2;
int main()
{
scanf("%d%d%d",&n,&m,&k);
cin>>s1>>s2;
g[0][0]=1;
for(int i=1;i<=n;i++)
{
for(int j=min(i,m);j>0;j--)
{
for(int l=1;l<=min(k,j);l++)
{
if(s1[i-1]==s2[j-1])
f[j][l]=(f[j-1][l]+g[j-1][l-1])%mod;
else f[j][l]=0;
g[j][l]=(f[j][l]+g[j][l])%mod;
}
}
}
printf("%lld",g[m][k]);
return 0;
}
信息
- 递交者
- 类型
- 递交
- 题目
- P1056 子串
- 比赛
- 随机真题赛第二轮(xhy&lfy讲题)
- 题目数据
- 下载
- 语言
- C++
- 递交时间
- 2019-11-12 08:56:37
- 评测时间
- 2019-11-12 12:26:47
- 评测机
- 分数
- 100
- 总耗时
- 90ms
- 峰值内存
- 856.0 KiB