atcoder#ABC242F. [ABC242F] Black and White Rooks
[ABC242F] Black and White Rooks
题目描述
縦 行、横 列のマス目に、黒い飛車の駒 個と白い飛車の駒 個を設置することを考えましょう。
以下の条件をすべて満たす設置の仕方を いい配置 と呼びます。
- 個の駒すべてが設置されている。
- つのマスに置かれている駒の数は高々 つである。
- ある白い駒と黒い駒の組であって、互いが互いを攻撃しているようなものが存在しない。すなわち、ある白い駒と黒い駒の組であって、一方が 手の移動によってもう片方が置かれているマスに到達できるようなものが存在しない。
ここで、飛車の駒は、今いる位置から上、下、右、左のいずれかの方向に伸びる直線上にあり、かつ他の駒を飛び越えずに到達できるマスに 手で移動することができます。
いい配置としてあり得るものは何通りありますか?答えは非常に大きくなることがあるので、 で割ったあまりを出力してください。
同じ色の駒同士は区別しないものとします。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
答えを で割ったあまりを出力せよ。
题目大意
考虑在一个 行 列的棋盘上放置 只黑车和 只白车。一个好的放置方式应满足以下条件:
- 所有车放在方格内。
- 一个方格至多放一只车。
- 没有一对黑车和白车可以互相攻击,即没有一对黑车和白车,它们中的一个可以一步到达另一个所在的方格。
这里,车一步可以到达与之同行或同列的任一方格,前提是不跨过其它棋子。
求好的放置方式的数目。由于答案可能很大,输出对 取模的结果。
同种颜色的车不区分。
数据范围:
- ;
- ;
- ;
- 所有输入的数是整数。
2 2 1 1
4
1 2 1 1
0
40 40 30 30
467620384
提示
制約
- 入力はすべて整数
Sample Explanation 1
いい配置としてあり得るものは以下の 通りです。 ![](https://img.atcoder.jp/ghi/00c6bee30b78604192be9b9f0701fc48.png)
Sample Explanation 2
いい配置としてあり得るものが存在しない場合もあります。
Sample Explanation 3
で割ったあまりを出力することに注意してください。