棋盘问题(二)
内存限制: 256 Mb时间限制: 1000 ms
题目描述
给定一个 n∗m 的棋盘,你需要在棋盘上放置黑白两个不同的皇后,请问有多少种放置方法能够使两个皇后之间互相不能攻击对方?
象棋中的皇后可以沿所在行、列及对角线移动任意距离。
输入格式
输入共一行,两个正整数 n,m
输出格式
输出共一行,一个正整数表示答案
数据范围
- 对于 30% 的数据,2≤n,m≤10^2
- 对于 60% 的数据,2≤n,m≤10^4
- 对于 100% 的数据,2≤n,m≤10^100
样例数据
输入:
4 3
输出:
40
解析:
令n<m;
棋盘第一个皇后可以放置的位置为m*n个位置。
对于第二个皇后,不能放置的位置有两类:
一类是直线,即跟第一个皇后同行或者同列,对于这类,第一个皇后的每种放法中,有m+n-1个位置是不能放置的。
另一类是斜线,对于左下到右上的斜线
对于第一个皇后放在这个位置,第二个皇后有0个位置不可以放置。