30201象棋中的皇后
难度级别:B; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B
试题描述

在n×m的棋盘上放置两个相互攻击的皇后,总共有多少种不同的方案?例如当n=2,m=2时答案为12,当n=100,m=223时答案为10907100。说明:如果同一个棋盘上的某一行,或某一列,或某一斜线(两个方向上的对角线)上有两个皇后就会相互攻击。当n=2,m=2时,其放置方案如下图所示:
                         

输入
一行,包含两个整数n,m,由一个空格隔开。
输出
一个数,表示在n×m棋盘上放两个相互攻击的皇后的方案数。
输入示例
100 223
输出示例
10907100
其他说明
数据范围:0≤m,m≤1000000

题解:其实是一道计数好题。。。

先得有个公式:多项平方和公式:1^2+2^2+3^2+…+n^2=n(n+1)(2n+1)/6

竖着的、横着的都还好。对于对角线,窝萌只要注意到长度的变化即可,别忘了有两条对角线!

然后算一下发现并不会溢出,所以就这样了。。。

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<queue>
#include<cstring>
#define PAU putchar(' ')
#define ENT putchar('\n')
using namespace std;
inline unsigned long long read(){
unsigned long long x=,sig=;char ch=getchar();
while(!isdigit(ch)){if(ch=='-') sig=-;ch=getchar();}
while(isdigit(ch)) x=*x+ch-'',ch=getchar();
return x*sig;
}
inline void write(unsigned long long x){
if(x==){putchar('');return;}if(x<) putchar('-'),x=-x;
int len=;unsigned long long buf[];while(x) buf[len++]=x%,x/=;
for(int i=len-;i>=;i--) putchar(buf[i]+'');return;
}
unsigned long long n,m;
void init(){
n=read();m=read();
if(n>m) swap(n,m);
write(n*m*(n+m-)+*n*(n-)*(*m-n-)/);
return;
}
void work(){
return;
}
void print(){
return;
}
int main(){
init();work();print();return ;
}

  

COJ 0020 30201象棋中的皇后的更多相关文章

  1. UVa 11538 象棋中的皇后

    https://vjudge.net/problem/UVA-11538 题意: n×m的棋盘,有多少种方法放置两个相互攻击的皇后? 思路: 这两个皇后互相攻击的方式只有3种,在同一行,在同一列,或在 ...

  2. C#中八皇后问题的递归解法——N皇后

    百度测试部2015年10月份的面试题之——八皇后. 八皇后问题的介绍在此.以下是用递归思想实现八皇后-N皇后. 代码如下: using System;using System.Collections. ...

  3. 基于VB中WINSOCK控件的网上象棋系统的实现

    本文发表在<微型机与应用>杂志2001年第3期. 基于VB中WINSOCK控件的网上象棋系统的实现 马根峰1   ,  孙艳2  , 王平1 (1.重庆邮电学院自动化学院,重庆,40006 ...

  4. [LeetCode] N-Queens N皇后问题

    The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens ...

  5. BZOJ 4806 - 4809 象棋四题

    4806: 炮 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 103  Solved: 72[Submit][Status][Discuss] Des ...

  6. 从国际象棋与象棋的走法差异,再趣说IT人提升能力和增收方式

    之前我写过篇博文,用象棋的思维趣说IT人的职业发展和钱途,发现象棋中的一些思维能应用到我们程序员平时的职业发展中. 当从大学毕业的程序员干个五六年以后,也达到了高级开发的水平,工作环境应该能摆脱动荡, ...

  7. [LeetCode] 51. N-Queens N皇后问题

    The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens ...

  8. N皇后问题—初级回溯

    N皇后问题,最基础的回溯问题之一,题意简单N*N的正方形格子上放置N个皇后,任意两个皇后不能出现在同一条直线或者斜线上,求不同N对应的解. 提要:N>13时,数量庞大,初级回溯只能保证在N< ...

  9. 1.2 中国象棋将帅问题进一步讨论与扩展:如何用1个变量实现N重循环?[chinese chess]

    [题目] 假设在中国象棋中只剩下将帅两个棋子,国人都知道基本规则:将帅不能出九宫格,只能上下左右移动,不能斜向移动,同时将帅不能照面.问在这样条件下,所有可能将帅位置.要求在代码中只能使用一个字节存储 ...

随机推荐

  1. js获取当前页面的url中id

    function UrlSearch() { var name, value; var str = location.href; //获取到整个地址 var num = str.indexOf(&qu ...

  2. Facade外观模式 笔记

    Facede模式: 把内部系统复杂隐藏,提供一个方便统一的接口. 微波炉在界面简单操作下就可以烹饪出美味佳肴, 微波炉内部运作原理,各个组件互相交互运作,使用者并不需要关心.  而且关心的话可能没有多 ...

  3. iOS键盘覆盖输入框的处理.doc

    在一个多项输入界面上,会有多个UITextfield类型的输入框.为了滚动方面,我们会将他们一一添加到UITableView的cell中,从而组成一个可以上下滑动的数据输入界面. 但是字符输入是通过系 ...

  4. RESTful Web Services: A Tutorial--reference

    As REST has become the default for most Web and mobile apps, it's imperative to have the basics at y ...

  5. php进程继续执行

    虽然浏览器提示localhost 的服务器响应时间过长.但是进程在后台继续执行,数据库的条数在增加.

  6. 关于cocopads 不能正确安装的问题

    通过几个网页 我搜到 看着几个网页就够了 绝对可以实现的 http://code4app.com/article/cocoapods-install-usage http://www.cnblogs. ...

  7. java——JNI(例子控制台(64位)清屏

    因为java的最底层是jvm,所以单纯的控制台java程序不能感知jvm再下面的操作系统的情况, 可以通过JNI(Java Native Interface)技术实现java后台调用C++/C的dll ...

  8. 企业管理系统开发笔记(4)---后台登录_MVC过滤器

    在asp.net时代,我们通常需要在后台的每个页面进行判断用户是否登录的状态,不管是通过session还是通过windows身份验证还是表单验证方式等等方法来对用户登录进行判断跳转.但是在mvc时代, ...

  9. 转载:CURL常用命令

    转载网址:http://www.cnblogs.com/gbyukg/p/3326825.html 下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.cent ...

  10. MOOTOOLS和JQUERY如何同时存在,解决冲突

    mootools-jquery 今天在做EcStore前台的做效果时,由于Jquery的插件比较多,于是就使用了Jquery的插件,但是发现会引起Mootools的冲突. 于是猛找资料,终于找到了,现 ...