UVa 11538 Chess Queen

在n × m 的棋盘上放两个互相攻击的皇后,问有多少种方法

这道题重点不在于编程,而是数学公式的推导。其中还用到了Σ(i2)的公式,看来我高中数学没白学,嘎嘎

至于推导过程,看大白书吧,嘿嘿。对了,书中有一步貌似有个小错误,不过不影响结果

 1 //#define LOCAL
 2 #include <iostream>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 int main(void)
 7 {
 8     #ifdef LOCAL
 9         freopen("11538in.txt", "r", stdin);
10     #endif
11 
12     unsigned long long n, m;
13     while(cin >> n >> m)
14     {
15         if(n + m == 0)    break;
16         if(n > m)    swap(n, m);
17         cout << m*n*(m+n-2) + 2*n*(n-1)*(3*m-n-1)/3 << endl;
18     }
19     return 0;
20 }
代码君
原文地址:https://www.cnblogs.com/AOQNRMGYXLMV/p/3938645.html