hdu 4055 DP

来源:互联网 发布:关闭广播访客网络 编辑:程序博客网 时间:2024/06/07 10:07
#include<cstdio>#include<cstring>#define MOD 1000000007using namespace std;int dp[1010][1010],sum[1010][1010];int main(){char str[10000];while(~scanf("%s",str+1)){int len=strlen(str+1)+1;dp[1][1]=sum[1][1]=1; for(int i=2;i<=len;i++)for(int j=1;j<=i;j++){if(str[i-1]=='I')dp[i][j]=sum[i-1][j-1];else if(str[i-1]=='D')dp[i][j]=(sum[i-1][i-1]-sum[i-1][j-1]+MOD)%MOD;elsedp[i][j]=sum[i-1][i-1];sum[i][j]=(sum[i][j-1]+dp[i][j])%MOD;}printf("%d\n",sum[len][len]);}}

原创粉丝点击