• 背单词


    背单词

    链接:https://ac.nowcoder.com/acm/contest/326/B

    题目描述

    winterzz1准备考4级了,现在winterzz1决定把世界上所有单词都背一遍,winterzz1发现任意一个单词最多有A个连续的元音,最多有B个连续的辅音。且单词最长长度为N,winterzz1问你在满打满算的情况他需要背多少单词???

    输入描述:

    首先输入一个T(T<=100),表示有T组案例,每组案例依次输入三个正整数N,A,B,N<=5000,A<=50,B<=50;

    输出描述:

    输出winterzz1最多需要背多少单词,结果mod(10^9+7)
     

    输入

    2
    2 2 2
    500 20 30

    输出

    702
    175540856

    备注:

    元音字母为a,e,i,o,u,其余21个字母均为辅音

    开三维数组,第一维为当前处理到第几个位置,第二维为重复的是元音还是辅音,第三维为重复的次数
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 const long long MOD=1e9+7;
     4  
     5 int T;
     6 long long dp[5005][2][55];
     7  
     8 int main(){
     9     std::ios::sync_with_stdio(false);
    10     cin>>T;
    11     while(T--){
    12         memset(dp,0,sizeof(dp));
    13         dp[1][0][1]=5,dp[1][1][1]=21;
    14         int n,a,b;
    15         cin>>n>>a>>b;
    16         long long ans=0;
    17         for(int i=2;i<=n;i++){
    18             for(int j=2;j<=a;j++){
    19                 dp[i][0][j]=(dp[i-1][0][j-1]*5)%MOD;
    20             }
    21             for(int j=1;j<=a;j++){
    22                 dp[i][1][1]=(dp[i][1][1]+dp[i-1][0][j]*21)%MOD;
    23             }
    24             for(int j=2;j<=b;j++){
    25                 dp[i][1][j]=(dp[i-1][1][j-1]*21)%MOD;
    26             }
    27             for(int j=1;j<=b;j++){
    28                 dp[i][0][1]=(dp[i][0][1]+dp[i-1][1][j]*5)%MOD;
    29             }
    30         }
    31         for(int i=1;i<=n;i++){
    32             for(int j=1;j<=a;j++){
    33                 ans=(ans+dp[i][0][j])%MOD;
    34             }
    35             for(int j=1;j<=b;j++){
    36                 ans=(ans+dp[i][1][j])%MOD;
    37             }
    38         }
    39         cout<<ans<<endl;
    40     }
    41  
    42 }
    View Code
  • 相关阅读:
    车辆年检、强险、车船税的关系
    .Net下几种ORM
    Windows 刷新图标命令
    VUE-CLI + AntV G6 兼容IE11
    CentOS 7 下安装 JIRA 8.7 和 Confluence 7.3
    .Net Core,VUE,VS Code,Sql Sugar,Element UI学习笔记
    Nginx 缓存代理
    java对象锁和类锁
    线程的生命周期
    数据库分库分表
  • 原文地址:https://www.cnblogs.com/Fighting-sh/p/10291771.html
Copyright © 2020-2023  润新知