uva 11538 - Chess Queen(数论)
来源:互联网 发布:淘宝网店怎么设置客服 编辑:程序博客网 时间:2024/06/07 04:04
题目链接:uva 11538 - Chess Queen
题目大意:在一个n∗m的棋盘上,放两个皇后,要求两个皇后可以互相攻击,求有多少种放法。
解题思路:因为皇后的攻击范围为竖线、横线和斜线,所以枚举每条上两个皇后放的位置,比如一条斜线有8个,那么放两个皇后的种数就有C(82)种。
行数n,每行m个位置C(m2)∗n
列数m,每列n个位置C(n2)∗m
斜线,2∗(2∗∑i=1n−1i∗(i−1)+(m−n+1)∗n∗(n−1)),因为正斜线和翻斜线,所以要乘以2
最后公式化简为2∗n∗(n−1)∗(3∗m−n−1)3
代码:
#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;typedef unsigned long long ll;ll n, m;int main () { while (cin >> n >> m) { if (!(n + m)) break; if (m < n) swap(n, m); cout << n * m * (n+m-2) + 2 * n * (n-1)*(3*m-n-1)/3 << endl; } return 0;}
1 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
- XML_用sax文档解析文档
- [GitHub][2014-05-13 22:00:08]Just-a-Page
- MySQL源码解读
- 用matlab 对序列卷积算法的验证
- 让创意更有黏性!
- uva 11538 - Chess Queen(数论)
- SELECT超时小结
- 备忘之 拷贝构造函数
- [hdu4041]Eliminate Witches!
- struts2使用JSP直接访问国际化资源文件
- poj_A Chess Game2425
- uva 103Stacking Boxes
- PAT 1006. 换个格式输出整数
- 《程序员面试宝典》打印规律矩阵