1037: [ZJOI2008]生日聚会Party dp
来源:互联网 发布:mac战网国服改台服 编辑:程序博客网 时间:2024/05/18 17:23
Description
今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party。 hidadz带着朋友们来到花园中,打算
坐成一排玩游戏。为了游戏不至于无聊,就座的方案应满足如下条件:对于任意连续的一段,男孩与女孩的数目之
差不超过k。很快,小朋友便找到了一种方案坐了下来开始游戏。hidadz的好朋友Susie发现,这样的就座方案其实
是很多的,所以大家很快就找到了一种,那么到底有多少种呢?热爱数学的hidadz和她的朋友们开始思考这个问题
…… 假设参加party的人中共有n个男孩与m个女孩,你是否能解答Susie和hidadz的疑问呢?由于这个数目可能很
多,他们只想知道这个数目除以12345678的余数。
Input
仅包含一行共3个整数,分别为男孩数目n,女孩数目m,常数k。
Output
应包含一行,为题中要求的答案。
Sample Input
1 2 1
Sample Output
今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party。 hidadz带着朋友们来到花园中,打算
坐成一排玩游戏。为了游戏不至于无聊,就座的方案应满足如下条件:对于任意连续的一段,男孩与女孩的数目之
差不超过k。很快,小朋友便找到了一种方案坐了下来开始游戏。hidadz的好朋友Susie发现,这样的就座方案其实
是很多的,所以大家很快就找到了一种,那么到底有多少种呢?热爱数学的hidadz和她的朋友们开始思考这个问题
…… 假设参加party的人中共有n个男孩与m个女孩,你是否能解答Susie和hidadz的疑问呢?由于这个数目可能很
多,他们只想知道这个数目除以12345678的余数。
Input
仅包含一行共3个整数,分别为男孩数目n,女孩数目m,常数k。
Output
应包含一行,为题中要求的答案。
Sample Input
1 2 1
Sample Output
1
dp[i][j][x][y]表示到第i个人时有j个男生且男生比女生多x个女生比男生多y个的情况个数。
如果第i+1个人可以是男生则 dp[i + 1][j + 1][x + 1][max(y - 1, 0)] += dp[i][j][x][y]
如果第i+1个人可以是女生则 dp[i + 1][j][max(x - 1, 0)][y + 1] += dp[i][j][x][y]
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;const int mod = 12345678;int dp[305][155][22][22];int main(){int n, i, j, k, sum, m, x, y, ans = 0;dp[0][0][0][0] = 1;scanf("%d%d%d", &n, &m, &k);for (i = 0;i < n + m;i++){for (j = 0;j <= n;j++)for (x = 0;x <= k;x++)for (y = 0;y <= k;y++)if (dp[i][j][x][y]){if (j + 1 <= n&&x + 1 <= k) dp[i + 1][j + 1][x + 1][max(y - 1, 0)] += dp[i][j][x][y] % mod;if (i + 1 - j <= m&&y + 1 <= k) dp[i + 1][j][max(x - 1, 0)][y + 1] += dp[i][j][x][y] % mod;}}for (i = 0;i <= k;i++){for (j = 0;j <= k;j++)ans += dp[n + m][n][i][j], ans %= mod;}printf("%d\n", ans);return 0;}
阅读全文
0 0
- [BZOJ 1037][ZJOI2008]生日聚会Party(DP)
- BZOJ 1037: [ZJOI2008]生日聚会Party DP
- BZOJ 1037: [ZJOI2008]生日聚会Party DP
- 1037: [ZJOI2008]生日聚会Party dp
- 1037: [ZJOI2008]生日聚会Party
- 1037: [ZJOI2008]生日聚会Party
- 1037: [ZJOI2008]生日聚会Party
- 1037: [ZJOI2008]生日聚会Party
- HYSBZ/BZOJ 1037 [ZJOI2008] 生日聚会Party - dp
- bzoj 1037: [ZJOI2008]生日聚会Party (DP)
- bzoj1037:[ZJOI2008]生日聚会Party[DP]
- bzoj1037: [ZJOI2008]生日聚会Party DP
- 【bzoj1037】【ZJOI2008】【生日聚会Party】【dp】
- 【DP】[ZJOI2008][HYSBZ/BZOJ1037]生日聚会Party
- [BZOJ1037][ZJOI2008][DP]生日聚会Party
- [BZOJ1037][ZJOI2008][DP]生日聚会Party
- bzoj1037 [ZJOI2008]生日聚会Party(dp)
- [bzoj1037][ZJOI2008]生日聚会Party dp
- 基础复习
- retrofit框架使用
- React之使用context传递数据
- 继续努力
- Android进程间通信
- 1037: [ZJOI2008]生日聚会Party dp
- MATLAB GUI设计的大小控制参数units
- hystrix的超时含义
- jquery.lazyload 懒加载
- Spark---Word Count
- 34 linux系统管理
- SpringBoot
- Retrofit+RxJava的联合使用
- 安装qrcode或canvas的坑