AIM Tech Round 4 (Div. 2) B. Rectangles
来源:互联网 发布:windows脚本编程格式 编辑:程序博客网 时间:2024/06/05 02:00
题目大意
求选出在同一行或同一列颜色相同的格子,共有多少种选法。
题解
泥萌为什么都2^n什么的啊,我只会用组合数QAQ。
杨辉三角预处理组合数,设b[i]为第i行1的个数,则:
列同理,注意去掉块数为1的。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int read(){ char ch=getchar();int f=0; while(ch<'0'||ch>'9') ch=getchar(); while(ch>='0'&&ch<='9') {f=f*10+(ch^48);ch=getchar();} return f;}long long c[55][55],ans;long long a[55][55],b[55],d[55];int main(){ int n=read(),m=read(); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { a[i][j]=read(); if(a[i][j]) { b[i]++; d[j]++; } } } for(int i=0;i<=50;i++) { c[i][0]=1; for(int j=1;j<=i;j++) { c[i][j]=c[i-1][j-1]+c[i-1][j]; } } for(int i=1;i<=n;i++) { for(int j=1;j<=b[i];j++) { ans+=c[b[i]][j]; } for(int j=1;j<=m-b[i];j++) { ans+=c[m-b[i]][j]; } } for(int i=1;i<=m;i++) { for(int j=2;j<=d[i];j++) { ans+=c[d[i]][j]; } for(int j=2;j<=n-d[i];j++) { ans+=c[n-d[i]][j]; } } cout<<ans;}
阅读全文
0 0
- AIM Tech Round 4 (Div. 2) B. Rectangles
- (组合)Codeforces AIM Tech Round 4 (Div. 2) B. Rectangles
- Codeforces AIM Tech Round 4 (Div. 2) B Rectangles(组合数学)
- AIM Tech Round 4 (Div. 2) B
- AIM Tech Round 4 (Div. 2) B, C 题解
- AIM Tech Round 4 (Div. 2) C
- AIM Tech Round 4 (Div. 2)
- AIM Tech Round (Div. 2)--B. Making a String
- Codeforces AIM Tech Round (Div. 2) B. Making a String
- AIM Tech Round (Div. 2)(B)模拟
- AIM Tech Round 3 (Div. 2) B. Checkpoints
- codeforces AIM Tech Round 3 (Div. 2) B. Checkpoints
- Codeforces Aim Tech Round 3 (Div.2 )B.Checkpoints【思维】
- AIM Tech Round 3 (Div. 2) B. Checkpoints
- AIM Tech Round 3 (Div. 2) B. Checkpoints 排序、讨论
- AIM Tech Round 3 (Div. 2) -- B. Checkpoints (枚举)
- codeforces AIM Tech Round 3 (Div. 2) B. Checkpoints
- Codeforces AIM Tech Round 4 (Div. 2) A Diversity
- Java 数组
- 一篇博客让你了解Material Design的使用
- session 和 cookie
- activiti工作流
- python-6
- AIM Tech Round 4 (Div. 2) B. Rectangles
- 网站地址中的www有还是没有
- SSH,不经过Controller层直接从逻辑层想前端发送数据的方法
- 特殊序列点的坐标
- Mybatis的if test字符串比较问题
- ST表算法详解
- Gym
- 在线编程无法在sublime中使用input()和raw_input()的解决方法
- 创建二维矩阵并矩阵求和再转换