7.4 L UVA 11806Cheerleaders
来源:互联网 发布:淘宝购礼品盒 编辑:程序博客网 时间:2024/04/28 18:09
题意:
一个m*n的棋盘,每个格子可以放一个啦啦队长,问在有k个啦啦队长,满足四边有至少一个啦啦队长的条件下,一共有多少种方法。
思路:
用容斥定理来做,也是看了训练指南才看懂。枚举16次状态,从0000到1111,每个2进制位对应上下左右的一边,为1时表示该边上不能站人。当二进制1出现次数为奇数时答案加上对应的排列数,否则减去对应的排列数。
代码:
#include <iostream>using namespace std;int C[401][401];int n,m,k;//n<=20,m<=20,k<=400const int mod=1000007;int main(){ int T; C[0][0]=1; for(int i=1;i<=400;i++){ C[i][0]=C[i][i]=1; for(int j=1;j<i;j++) C[i][j]=(C[i-1][j]+C[i-1][j-1])%mod; } cin>>T; for(int t=1;t<=T;t++){ cin>>n>>m>>k; int ans=0; for(int S=0;S<16;S++){ int b=0,r=n,c=m; if(S&1){ r--; b++; } if(S&2){ r--; b++; } if(S&4){ c--; b++; } if(S&8){ c--; b++; } if(b&1) ans = (ans+mod-C[r*c][k])%mod; else ans = (ans+C[r*c][k])%mod; } cout<<"Case "<<t<<": "<<ans<<endl; } return 0;}
0 0
- 7.4 L UVA 11806Cheerleaders
- 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
- GCC_RESET_STATUS Definition (check each platform SWI)
- 【bzoj 1176】[Balkan2007] Mokia(cdq分治+树状数组)
- 307RangeSumQueryMutable
- Android自定义星级评定条实现
- Android系统简介
- 7.4 L UVA 11806Cheerleaders
- Ubuntu server PostgreSQL安装以及基本操作
- CSS3弹性伸缩布局(一)——box布局
- linux文件系统的类型
- ucosii的实时操作系统(任哲)——第一章
- OSX.Mokes.a.后门恶意软件详解
- mysql
- Ugly Number II
- 电脑快捷键大全