uva11538(数论)
2015-03-26 18:15
113 查看
题意:
给一个n*m的棋盘,放两个互相攻击的皇后,有几种方法;
思路:
同一行攻击,和同一列攻击都很好算;
就是对角线有点麻烦
对角线:2*(2*(A(2,2)+A(3,2)+A(4,2)+…+A(m-1,2))+A(m,2)*(n-m+1))
n小于m时交换,这样就避免分类
因为两条对角线对称,所以直接乘以2
对角线上面的个数:2,3,4,…m-1,m…m,m-1,…4,3,2.
其中m的个数为n-m+1个
AC代码:
给一个n*m的棋盘,放两个互相攻击的皇后,有几种方法;
思路:
同一行攻击,和同一列攻击都很好算;
就是对角线有点麻烦
对角线:2*(2*(A(2,2)+A(3,2)+A(4,2)+…+A(m-1,2))+A(m,2)*(n-m+1))
n小于m时交换,这样就避免分类
因为两条对角线对称,所以直接乘以2
对角线上面的个数:2,3,4,…m-1,m…m,m-1,…4,3,2.
其中m的个数为n-m+1个
AC代码:
#include<cstdio> #include<cstring> #include<algorithm> #define ll long long using namespace std; int main() { ll n, m; while(scanf("%lld%lld",&n,&m) && n) { if(n > m) swap(n,m); ll tmp = n * m *(n + m - 2) + 2 * n * (n - 1) * (3 * m -n -1) / 3; printf("%lld\n",tmp); } return 0; }
相关文章推荐
- UVA 11538 - Chess Queen(数论+计数问题)
- uva 11538 - Chess Queen(数论)
- UVA - 11538 - Chess Queen (数论~)
- UVa 10791 Minimum Sum LCM (数论&素因子分解)
- UVA11538 Chess Queen
- Colossal Fibonacci Numbers! UVA - 11582 (数论,幂求模,规律周期)
- [UVA - 11827][数论基础]Maximum GCD
- uva350(数论)
- poj 1606 Jugs and poj 3414 Pots(数组模拟BFS) uva 571 (数论)
- UVA11752 The Super Powers【超级幂+暴力+数论】
- UVA571 - Jugs(数论)
- (数论2.1.2)UVA 10168 Summation of Four Primes(欧拉筛法)
- UVA 11388 - GCD LCM(数论)
- UVa 1363 Joseph's Problem (数论)
- UVA 11538 Chess Queen
- UVA - 10375Choose and divide(数论)
- UVA 10995 - Educational Journey(数论)
- UVA 10110(数论)
- UVA 617 - Nonstop Travel(数论+暴力枚举)
- 数论:欧拉函数 uva 10820