您的位置:首页 > 产品设计 > UI/UE

UVa 11538 Chess Queen

2014-08-27 08:42 302 查看
在n × m 的棋盘上放两个互相攻击的皇后,问有多少种方法

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

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

//#define LOCAL
#include <iostream>
#include <algorithm>
using namespace std;

int main(void)
{
#ifdef LOCAL
freopen("11538in.txt", "r", stdin);
#endif

unsigned long long n, m;
while(cin >> n >> m)
{
if(n + m == 0)    break;
if(n > m)    swap(n, m);
cout << m*n*(m+n-2) + 2*n*(n-1)*(3*m-n-1)/3 << endl;
}
return 0;
}


代码君
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: