1 条题解

  • 0
    @ 2025-8-24 21:28:20

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Binary_Search_Tree
    博客 https://cnblogs.com/bestlxm

    搬运于2025-08-24 21:28:19,当前版本为作者最后更新于2018-09-15 23:25:47,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目传送门

    题目貌似没说清楚,总的红色算筹个数必须与黑色算筹相等。

    这一题因为n<=100,所以可以放心大胆地用二维DP

    令dp[i][j]表示前i个算筹中放j个红色算筹的方案数

    则可以得出dp[i][j]=dp[i-1][j]+dp[i-1][j-1]

    **注意:j必须大于等于i/2上取整 **

    不说了,下面是本蒟蒻的代码:

    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    int n,f[505][505];
    int main(){
    	scanf("%d",&n);
    	f[1][1]=1;
    	for (int i=2;i<=n+n;i++)
    		for (int j=(i+1)>>1;j<=i;j++)
    			f[i][j]=(f[i-1][j]+f[i-1][j-1])%100;
    	printf("%d",f[n+n][n]);
    	return 0;
    }
    
    • 1

    信息

    ID
    700
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者