蓝桥杯2025模拟三(01字符串)
【问题描述】 如果一个字符串中只包含字符 0 和字符 1,则称为一个 01 串(包含全为 0 的串和全为 1 的串)。 请问有多少个长度为 24 的 01 串,满足任意 5 个连续的位置中不超过 3 个位置的值为 1 。 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
#include<bits/stdc++.h>
using namespace std;
int dp[25][5];
int main ()
{
dp[4][0]=1;
dp[4][1]=4;
dp[4][2]=6,dp[4][3]=4;
for(int i=5;i<=24;i++)
{
for(int j=0;j<=3;j++)
{
dp[i][j]=dp[i-1][j];
if(j>0)
{
dp[i][j]+=dp[i-1][j-1];
}
}
}
cout<<dp[24][3]+dp[24][2]+dp[24][1]+dp[24][0]<<endl;
return 0;
}