E Cheerleaders (UVA 11806)
2016-04-02 17:15
197 查看
题目大意:
就是给定一个 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:
就是给定一个 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>
相关文章推荐
- 【MongoDB】The Access control of mongodb
- Problem L: 递归函数求n的阶乘
- C 【数据类型 静态&动态】
- SDAU课程练习2 1022
- 前端需要了解的
- Step by Step into Spring(IOC)
- ife-task3:三栏式布局--再谈position 属性的基本知识
- April Fools Day Contest 2016 题解
- Spring MVC 常用的那些注解
- POJ1797 Heavy Transportation
- 《算法导论》学习摘要chapter-6——优先队列
- POJ_3253_Fence Repair
- [android] 图片的缩放
- maven导入本地jar文件
- 国内外 Android 技术大牛 入口
- 单例模式
- CSS Reset
- Linux内核分析——第十八章 调试
- Zookeeper + Hadoop2.6 集群HA + spark1.6完整搭建与所有参数解析
- Java学习路线图