atcoder#ABC219E. [ABC219E] Moat
[ABC219E] Moat
题目描述
-平面上のいくつかの点に村があります。
高橋君はこれらの村を民兵や魔女などの外敵から守るため、これらのすべての村を囲むようなお堀を建設します。
と からなる 行列 が与えられます。
を満たす整数の組 ごとに、座標 に村があります。
お堀は平面上の多角形です。 高橋君は以下の条件をすべて満たすお堀を建設します(入力例1・出力例1の説明も参考にして下さい)。
- 自己交差がない
- 内部にすべての村を含む
- すべての頂点の 座標と 座標は 以上 以下の整数
- すべての辺は 軸と 軸のどちらかに平行
- それぞれの内角の大きさは 度または 度
高橋君が建設するお堀として考えられるものが何通りあるかを出力して下さい。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
高橋君が建設するお堀として考えられるものが何通りあるかを出力せよ。
题目大意
有一个 行 列的矩阵,由 构成。如果在第 列是 ,那么在 处有一座村庄。
现在你要修一个护城河,要保证:
- 所有村庄都被包含在里面。
- 护城河自身不能相交。
- 只能有一条护城河。
- 护城河每一条边必须与 坐标平行,而且必须在线上。
- 所有内角必须是 或 度。
现在你要输出有多少种修筑护城河的方案。
1 0 0 0
0 0 1 0
0 0 0 0
1 0 0 0
1272
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1
提示
制約
- となる が少なくとも つ存在する
Sample Explanation 1
下記の つの画像の例は、高橋君が建設する**お堀の条件を満たします**。 ![](https://img.atcoder.jp/ghi/7b3181deb4e1df72e4c0661b1137db4d.png)![](https://img.atcoder.jp/ghi/a1e46c7db32d63942caa7119a4f3a593.png) 下記の つの画像の例は、高橋君が建設する**お堀の条件を満たしません**。 ![](https://img.atcoder.jp/ghi/335053c01a13eb99e55767a3dc02eb38.png)![](https://img.atcoder.jp/ghi/c4df3d1fa24557b0d4d94ac0eaa8b9ab.png)![](https://img.atcoder.jp/ghi/be93de595e9222d5e20c90bd28d24563.png)![](https://img.atcoder.jp/ghi/37dac3af065c013ce0b8c0ee7591b97a.png) 上記の つの例が高橋君の建設するお堀の条件を満たさない理由は、以下の通りです。 - つ目の画像の例は、「自己交差がない」という条件を満たしません。 - つ目の画像の例は、「内部にすべての村を含む」という条件を満たしません。 - つ目の画像の例は、「すべての頂点の 座標と 座標は 以上 以下の整数」という条件を満たしません。(座標が整数でない頂点があります。) - つ目の画像の例は、「すべての辺は 軸と 軸のどちらかに平行」という条件を満たしません。