UVA 11538(Chess Queen-矩阵对角线长度)
2013-04-05 15:02
281 查看
Problem A
Chess Queen
Input: Standard Input
Output: Standard Output
王后互相攻击的前提是在一行,一列,或一对角线。:
![](http://img.my.csdn.net/uploads/201304/05/1365128653_3965.png)
在 (NxM) 的棋盘上 2 王后互相攻击,求方案数.
Input
输入数据不超过 5000 行 ,每行为M and N (0< M, N£106) ,数据以0 0结尾.
Problemsetter: Shahriar Manzoor
Special Thanks to: Mohammad Mahmudur Rahman
首先,一个矩形的长宽若为m,n(m>=n)
那么它一个方向的对角线应为1..(n-1)各2条,n有(m-n+1)条
知道这个的化,本题就转化为,在一列一行或一对角线任取2点,有几种取法。
Chess Queen
Input: Standard Input
Output: Standard Output
王后互相攻击的前提是在一行,一列,或一对角线。:
![](http://img.my.csdn.net/uploads/201304/05/1365128653_3965.png)
在 (NxM) 的棋盘上 2 王后互相攻击,求方案数.
Input
输入数据不超过 5000 行 ,每行为M and N (0< M, N£106) ,数据以0 0结尾.
Output
每行一个整数表示方案数,保证它在u64范围内.Sample Input Output for Sample Input
2 2 100 223 2300 1000 0 0 | 12 10907100 11514134000 |
Special Thanks to: Mohammad Mahmudur Rahman
首先,一个矩形的长宽若为m,n(m>=n)
那么它一个方向的对角线应为1..(n-1)各2条,n有(m-n+1)条
知道这个的化,本题就转化为,在一列一行或一对角线任取2点,有几种取法。
#include<cstdio> #include<algorithm> #include<functional> #include<iostream> #include<cstdlib> #include<cstring> using namespace std; #define MAXN (1000000+10) unsigned long long n,m; int main() { while (cin>>n>>m&&n&&m) { if (n>m) swap(n,m); cout<<n*m*(n+m-2)+2*n*(n-1)*(3*m-n-1)/3<<endl; } return 0; }
相关文章推荐
- UVA 11538(Chess Queen-矩阵对角线长度)
- UVA 11538 - Chess Queen 排列组合+对角线的个数
- Uva-11538-Chess Queen
- UVA 11538 Chess Queen
- Uva 11538 - Chess Queen
- uva11538 Chess Queen
- UVa 11538 Chess Queen
- UVA 11538 Chess Queen
- UVA 11538【象棋中的皇后】Chess Queen-----2015年1月24日
- UVa 11538 - Chess Queen
- uva 11538 - Chess Queen 先分步还是先分类? 计数问题
- Uva11538 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