首页 > 其他 > 详细

Uva 11538 象棋中的皇后

时间:2017-02-10 11:42:15      阅读:196      评论:0      收藏:0      [点我收藏+]

题目链接:https://uva.onlinejudge.org/external/115/11538.pdf

技术分享

两个皇后,n行m列,互相攻击的情况有多少种?

 

分析:

1、同一行的情况:n*m(m-1)

2、同一列的情况:n*m(n-1)

3、对角线:

设n<=m;

从左到右的 "/" 对角线上,依次是1,2,3,...,n-1,n,n,n(m-n+1个n),n-1,n-2,...,1个空格。

那么这种对角线总和为:技术分享

由于有两种对角线,还要乘以2

Tip:

技术分享

 1 #include <bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 {
 7     unsigned long long n,m;
 8     while(cin>>n>>m) {
 9         if(n==0) break;
10 
11         if(n>m) swap(n,m);
12 
13         cout<<n*m*(m-1)+n*m*(n-1)+2*n*(n-1)*(3*m-n-1)/3<<endl;
14 
15     }
16     return 0;
17 }

 

Uva 11538 象棋中的皇后

原文:http://www.cnblogs.com/TreeDream/p/6385509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!