题目描述
在數學上,一個點集合 S 的凸包 (convex hull) 定義為包含 S 的最小凸集合,記作 Conv(S)。在平面上,若 S 為非空有限點集合,則 Conv(S) 為一包含內部與邊界的最小凸多邊形,或其退化形式。另一方面,設 E1 與 E2 為平面上的兩個點集合。若存在某個二維向量 v,滿足
P∈E1⟺P+v∈E2,
則稱 E1 與 E2 經過平移後重合。
現給定平面上的有限點集合 S1 與 S2,並考慮它們的非空子集合 T1⊆S1 與 T2⊆S2。已知子凸包 Conv(T1) 與子凸包 Conv(T2) 面積皆大於 0 且經過平移後重合,請求出 Conv(T1) 所有可能的面積。
以下展示兩個子凸包平移後重合的例子。

输入格式
n m
x1 y1
x2 y2
⋮
xn yn
ξ1 η1
ξ2 η2
⋮
ξm ηm
- n 代表 S1 的集合大小。
- m 代表 S2 的集合大小。
- xi,yi 代表 S1 包含點 (xi,yi)。
- ξi,ηi 代表 S2 包含點 (ξi,ηi)。
输出格式
k
a1
a2
⋮
ak
- k 代表若子凸包 Conv(T1) 與子凸包 Conv(T2) 經過平移後重合,Conv(T1) 所有可能的非 0 面積數。
- ai 為一整數,代表 Conv(T1) 所有可能的非 0 面積中,第 i 小的數的兩倍。
提示
測資限制
- 3≤n≤40。
- 3≤m≤40。
- 0≤xi≤20。
- 0≤yi≤20。
- 0≤ξi≤20。
- 0≤ηi≤20。
- 對任意 i,j∈{1,2,…,n},若 i=j,則 (xi,yi)=(xj,yj)。
- 對任意 i,j∈{1,2,…,m},若 i=j,則 (ξi,ηi)=(ξj,ηj)。
- 輸入的數皆為整數。
評分說明
本題共有四組子任務,條件限制如下所示。
每一組可有一或多筆測試資料,該組所有測試資料皆需答對才會獲得該組分數。
子任務 |
分數 |
額外輸入限制 |
1 |
7 |
所有可能的非 0 面積必能從 T1 與 T2 中各選 3 個點得到 |
2 |
23 |
n+m≤30 |
3 |
41 |
S1=S2 |
4 |
29 |
無額外限制 |