Pagini recente »
Istoria paginii utilizator/ianis2008
|
Istoria paginii utilizator/crackozaur
|
Istoria paginii utilizator/goglog
|
Istoria paginii utilizator/iulian_radu
|
Cod sursă (job #784843)
Cod sursă (job
#784843)
#include <fstream>
using namespace std;
ifstream cin("director.in");
ofstream cout("director.out");
int n,k;
const long long mod=1e9+7;
long long add[10002],dp[27][10002];
int main()
{
cin>>n>>k;
string d;
cin>>d;
add[0]=1;
for(int i=1; i<=n; i++)
{
long long c=(d[i-1]-'a');
for(int j =k; j>0; j--)
{
long long p=dp[c][j];
add[j]-=p;
if(add[j]<0)
add[j]+=mod;
dp[c][j]=add[j-1];
add[j]+=dp[c][j];
if(add[j]>mod)
add[j]-=mod;
}
}
cout<<add[k];
return 0;
}