UVA11538 Chess Queen --- 排列组合

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/lmhlmh_/article/details/99648405

题意:nxm的棋盘,放2个皇后(黑后和白后),皇后在同一行,同一列,同斜对角线的情况有多少种

题解:同行的有n*m*(m-1),同列计算方法类似,同斜线的话:

/斜线长度分类分别有长度为 1,2,3....n-1,n,n,n..n,n-1,...2,1(m-n+1个n)

斜线长度为i,则有i*(i-1)种...

(具体题解参考蓝书p106,例题1)

    #include <cstdio>
    #include <algorithm>
    #include <iostream>
    using namespace std;

    int main() {
      unsigned long long n,m;
      while(cin >> n >> m) {
        if(!n && !m) break;
        if(n > m) swap(n,m);
        cout << n*m*(m+n-2)+2*n*(n-1)*(3*m-n-1)/3 << endl;
      }


      return 0;
    }

猜你喜欢

转载自blog.csdn.net/lmhlmh_/article/details/99648405