uva 11538 - Chess Queen(组合数)
来源:互联网 发布:inphic英菲克软件下载 编辑:程序博客网 时间:2024/05/20 13:19
UVa Online Judge
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2533
【题意】
给定一个棋盘,在棋盘上放两个皇后(一白一黑),求使得两个皇后相互攻击(在一行、一列、对角线均可相互攻击),求方案数。
计数问题,分类:
1.在一行或一列:n*m(m-1),m*n*(n-1)
2.在对角线,假设n<m,则各对角线长度:1,2,3……n-1,n,n,……n,n-1,n-2,……1.
D(n,m)=2*(2*[sum(i*(i-1)]+(m-n+1)n(n-1)) 条件i=(1~n-1)
其中:
sum(i^2)=n(n-1)(2n-1)/6;
sum(i)=n(n-1)/2;
D(n,m)=2[2*sum(i^2)-2*sum(i)+(m-n+1)n(n-1)]=2n(n-1)(3m-n-1)/3;
#include<cstdio>#include<iostream>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;typedef unsigned long long LL;int main(){ LL m,n; while(scanf("%lld%lld",&n,&m),(m||n)) {if(n>m) swap(n,m);LL x1=n*m*(m-1);//同一行相同n*C(2,m) LL x2=m*n*(n-1);//同一列相同m*C(2,n) LL x3=2*n*(n-1)*(3*m-n-1)/3;//对角线上 LL count=x1+x2+x3; cout<< count<< endl;//由于数比较大 应该用ll } return 0;}
0 0
- uva 11538 - Chess Queen(组合数)
- UVa 11538 Chess Queen (组合&分类)
- UVa 11538 - Chess Queen (组合数学)
- UVa 11538 - Chess Queen
- Chess Queen UVA 11538
- UVA 11538 Chess Queen
- Uva-11538-Chess Queen
- UVa 11538 Chess Queen
- UVa 11538 - Chess Queen
- uva 11538 Chess Queen
- UVA 11538 Chess Queen
- UVA 11538 - Chess Queen
- uva 11538 Chess Queen
- UVA - 11538 Chess Queen
- UVA 11538 Chess Queen
- UVA - 11538 Chess Queen
- UVA 11538 Chess Queen
- uva 11538 Chess Queen
- 递增和二分组合的查找法
- 插入排序
- STM32时钟配置
- HDU 5352 - MZL's City(网络流‘最小费用流)
- 获取请求参数
- uva 11538 - Chess Queen(组合数)
- C++对象模型——"继承"与Data Member(第三章)
- 图像特征提取2
- 重分发总结
- 【暑期基础2】B HDU 2027 统计元音
- 单链表
- js DOM 常用API方法总结
- Http网络连接处理
- ubuntu如何禁用笔记本键盘