E Cheerleaders (UVA 11806)
来源:互联网 发布:部落战争mac电脑版 编辑:程序博客网 时间:2024/06/07 06:27
题目大意:
就是给定一个 n * m 的方格,然后在这个方格中 放入k个石子有几种方法,条件限制是要求第一行,第一列,最后一行,最后一列必须有石子。
解题思路:
这个可以考虑容斥原理,就是总数减去 第一行,第一列,最后一行,最后一列 没有石子的数目,现在假设
事件A: 第一行没有石子;
事件B: 第一列没有石子;
事件C: 最后一行没有石子;
事件D: 最后一列没有石子;
则我们需要求的方法数:= C(n*m,k) - AUBUCUD; AUBUCUD = |A| + |B| + |C| + |D| - |AB| - |BC| - |AC| - |AD| - |BD| - |CD| + |ABC| + |ABD| + |ACD| + |BCD| - |ABCD|,我们写程序的时候可以借助二进制来表示 集合,然后枚举就行了...
还要注意的是 先打一个表,将组合数打出来
My Code:
<span style="font-size:18px;">#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 505;const int MOD = 1000007;int mat[MAXN][MAXN];void Init(){ memset(mat, 0, sizeof(mat)); mat[0][0] = 1; for(int i=1; i<MAXN; i++) { mat[i][0] = mat[i][i] = 1; for(int j=1; j<i; j++) { mat[i][j] = mat[i-1][j-1] + mat[i-1][j]; mat[i][j] %= MOD; } }}int main(){ Init(); int T, n, m, k; cin>>T; for(int cas=1; cas<=T; cas++) { cin>>n>>m>>k; int ans = 0; for(int i=0; i<(1<<4); i++) { int j = 0, r = n, c = m; if(i & 1) { r--; j++; } if(i & 2) { r--; j++; } if(i & 4) { c--; j++; } if(i & 8) { c--; j++; } if (j & 1) ans = (ans + MOD - mat[r*c][k])%MOD; else ans = (ans + mat[r*c][k])%MOD; } printf("Case %d: %d\n",cas,ans); } return 0;}</span>
0 0
- E Cheerleaders (UVA 11806)
- uva 11806 Cheerleaders(容斥)
- UVA - 11806 - Cheerleaders (递推)
- UVA 11806 Cheerleaders(容斥原理)
- UVA 11806 Cheerleaders
- UVA 11806 Cheerleaders
- Uva 11806 Cheerleaders
- UVA 11806 - Cheerleaders
- UVA 11806 Cheerleaders
- UVA 11806 - Cheerleaders
- uva 11806 - Cheerleaders
- UVa:11806 Cheerleaders
- UVA - 11806 Cheerleaders
- uva 11806 Cheerleaders
- UVA - 11806 Cheerleaders
- UVA 11806 Cheerleaders
- UVa 11806 Cheerleaders
- UVA 11806 Cheerleaders
- [BZOJ1602][Usaco2008 Oct]牧场行走(LCA)
- Redis 集群的合纵与连横
- SDAU课程练习2 1019
- DFS求起点到终点最短路径,手动输入地图,5行4列,地图如下,起点(1,1)终点(4,3) 1是障碍 0是通路
- hdoj 素数回文 1431 (模拟)
- E Cheerleaders (UVA 11806)
- 第五周项目22-分数类的雏形
- [JAVA]有关比较器(Comparator接口)的用法及对象数组排序问题
- TCP建立连接和断开连接过程
- 管理文件
- 4 Java基础语法(switch语句,循环语句(for,while),控制跳转语句(break,return,continue))
- hdu 2923 Einbahnstrasse 最短路spfa+map容器
- hdu4123Bob’s Race【树型dp求树上区间范围次小值】
- NDK开发环境搭建