zoukankan      html  css  js  c++  java
  • 生日聚会 BZOJ 1037

    生日聚会

    【问题描述】

    今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party。 hidadz带着朋友们来到花园中,打算坐成一排玩游戏。为了游戏不至于无聊,就座的方案应满足如下条件:对于任意连续的一段,男孩与女孩的数目之差不超过k。很快,小朋友便找到了一种方案坐了下来开始游戏。hidadz的好朋友Susie发现,这样的就座方案其实是很多的,所以大家很快就找到了一种,那么到底有多少种呢?热爱数学的hidadz和她的朋友们开始思考这个问题…… 假设参加party的人中共有n个男孩与m个女孩,你是否能解答Susie和hidadz的疑问呢?由于这个数目可能很多,他们只想知道这个数目除以12345678的余数。

    【输入格式】

    仅包含一行共3个整数,分别为男孩数目n,女孩数目m,常数k。

    【输出格式】

    应包含一行,为题中要求的答案。

    【样例输入】

    1 2 1

    【样例输出】

    1

    【数据范围】

    n , m ≤ 150,k ≤ 20。


    题解:

    设f[i][j][k][l]为选了i个男生,j个女生,男生与女生最大的差值为k,女生与男生最大的差值为l的方案数

    转移方程:(取男生或取女生坐)

     
     1 #include<algorithm>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<cstdlib>
     5 #include<cstdio>
     6 #include<cmath>
     7 using namespace std;
     8 int f[151][151][21][21];
     9 int x, y, z;
    10 inline int Max(int x, int y)
    11 {
    12     return (x < y) ? y : x;
    13 }
    14 inline void Cal(int &x, int y)
    15 {
    16     x = (x + y) % 12345678;
    17 }
    18 int main()
    19 {
    20     scanf("%d%d%d", &x, &y, &z);
    21     f[0][0][0][0] = 1;
    22     for(int i = 0; i <= x; ++i)
    23         for(int j = 0; j <= y; ++j)
    24             for(int k = 0; k <= z; ++k)
    25                 for(int l = 0; l <= z; ++l)
    26                 {
    27                     if(i + 1 <= x && k + 1 <= z) Cal(f[i + 1][j][k + 1][Max(l - 1, 0)], f[i][j][k][l]);
    28                     if(j + 1 <= y && l + 1 <= z) Cal(f[i][j + 1][Max(k - 1, 0)][l + 1], f[i][j][k][l]);
    29                 }
    30     int ans = 0;
    31     for(int k = 0; k <= z; ++k)
    32         for(int l = 0; l <= z; ++l)
    33             Cal(ans, f[x][y][k][l]);
    34     printf("%d", ans);
    35 }
  • 相关阅读:
    java基础部分的一些有意思的东西。
    antdvue按需加载插件babelpluginimport报错
    阿超的烦恼 javaScript篇
    .NET E F(Entity Framework)框架 DataBase First 和 Code First 简单用法。
    JQuery获得input ID相同但是type不同的方法
    gridview的删除,修改,数据绑定处理
    jgGrid数据格式
    Cannot read configuration file due to insufficient permissions
    Invoke action which type of result is JsonResult on controller from view using Ajax or geJSon
    Entity model数据库连接
  • 原文地址:https://www.cnblogs.com/lytccc/p/6492364.html
Copyright © 2011-2022 走看看