COJ 0020 30201象棋中的皇后
| 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象棋中的皇后的更多相关文章
- UVa 11538 象棋中的皇后
https://vjudge.net/problem/UVA-11538 题意: n×m的棋盘,有多少种方法放置两个相互攻击的皇后? 思路: 这两个皇后互相攻击的方式只有3种,在同一行,在同一列,或在 ...
- C#中八皇后问题的递归解法——N皇后
百度测试部2015年10月份的面试题之——八皇后. 八皇后问题的介绍在此.以下是用递归思想实现八皇后-N皇后. 代码如下: using System;using System.Collections. ...
- 基于VB中WINSOCK控件的网上象棋系统的实现
本文发表在<微型机与应用>杂志2001年第3期. 基于VB中WINSOCK控件的网上象棋系统的实现 马根峰1 , 孙艳2 , 王平1 (1.重庆邮电学院自动化学院,重庆,40006 ...
- [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 ...
- BZOJ 4806 - 4809 象棋四题
4806: 炮 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 103 Solved: 72[Submit][Status][Discuss] Des ...
- 从国际象棋与象棋的走法差异,再趣说IT人提升能力和增收方式
之前我写过篇博文,用象棋的思维趣说IT人的职业发展和钱途,发现象棋中的一些思维能应用到我们程序员平时的职业发展中. 当从大学毕业的程序员干个五六年以后,也达到了高级开发的水平,工作环境应该能摆脱动荡, ...
- [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 ...
- N皇后问题—初级回溯
N皇后问题,最基础的回溯问题之一,题意简单N*N的正方形格子上放置N个皇后,任意两个皇后不能出现在同一条直线或者斜线上,求不同N对应的解. 提要:N>13时,数量庞大,初级回溯只能保证在N< ...
- 1.2 中国象棋将帅问题进一步讨论与扩展:如何用1个变量实现N重循环?[chinese chess]
[题目] 假设在中国象棋中只剩下将帅两个棋子,国人都知道基本规则:将帅不能出九宫格,只能上下左右移动,不能斜向移动,同时将帅不能照面.问在这样条件下,所有可能将帅位置.要求在代码中只能使用一个字节存储 ...
随机推荐
- windows 编程 —— 消息与参数(定时器、初始化消息、改变大小)
目录: 定时器 WM_TIMER 初始化消息 WM_CREATE 改变大小 WM_SIZE 定时器: 接收消息:WM_TIMER 参数wParam:wParam参数等于定时器的ID值(上述情形为1). ...
- hdu 3631 Shortest Path(Floyd)
题目链接:pid=3631" style="font-size:18px">http://acm.hdu.edu.cn/showproblem.php?pid=36 ...
- http to https automatic--weblogic/jboss/tomcat--reference
weblogic reference from:http://middlewaremagic.com/weblogic/?p=2019 Many times we want to secure our ...
- Android - Broadcast机制
以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):http://blog.csdn.net/luosheng ...
- SpringMVC01
1.创建一个web项目 引入所需要的jar 2.在web.xml文件中配置 核心控制器 <?xml version="1.0" encoding="UTF-8&q ...
- C# Byte[]数组读取和写入文件
这个项目我用的是asp.net构建的,代码如下 protected void ByteToString_Click(object sender, EventArgs e) { string conte ...
- WCF理论 【转载】
原文地址:http://blog.itpub.net/23109131/viewspace-661613/ WCF是什么? WCF是"Windows Communication Founda ...
- VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程 转载
VC++6.0 下配置 pthread库2010年12月12日 星期日 13:14VC下的pthread多线程编程 转载 #include <stdio.h>#include &l ...
- zepto源码研究 - zepto.js (zepto.init)
简要:当我们用$()时,便会直接调用zepto.init 生成zepto对象,那zepto.init是如何根据不同类型的参数来生产指定对象呢? zepto.init = function(select ...
- JS数组常用方法
// 来自 http://www.runoob.com/jsref/jsref-obj-array.html var arr01 = [ "fuc" , "shi ...
