CF1697E Coloring
题目描述
给定平面上的 $n$ 个点,第 $i$ 个点的坐标为 $(x_i, y_i)$。任意两点的坐标都不相同。
两点 $i$ 和 $j$ 之间的距离定义为 $d(i,j) = |x_i - x_j| + |y_i - y_j|$。
你需要为每个点选择一个颜色,颜色用 $1$ 到 $n$ 的整数表示。对于每一个不同的有序三元组 $(a, b, c)$,需要满足以下约束:
- 如果 $a$、$b$、$c$ 的颜色相同,则 $d(a,b) = d(a,c) = d(b,c)$;
- 如果 $a$ 和 $b$ 的颜色相同,且 $c$ 的颜色与 $a$ 不同,则 $d(a,b) < d(a,c)$ 且 $d(a,b) < d(b,c)$。
计算有多少种不同的给点染色的方案满足上述约束。由于答案可能很大,请输出对 $998244353$ 取模后的结果。
输入格式
第一行包含一个整数 $n$($2 \le n \le 100$),表示点的数量。
接下来 $n$ 行,每行包含两个整数 $x_i$ 和 $y_i$($0 \le x_i, y_i \le 10^8$)。
任意两点的坐标都不相同(即如果 $i \ne j$,则 $x_i \ne x_j$ 或 $y_i \ne y_j$)。
输出格式
输出一个整数,表示满足条件的染色方案数。由于答案可能很大,请输出对 $998244353$ 取模后的结果。
说明/提示
在第一个测试样例中,满足条件的染色方案有:
- $[1, 1, 1]$;
- $[2, 2, 2]$;
- $[3, 3, 3]$;
- $[1, 2, 3]$;
- $[1, 3, 2]$;
- $[2, 1, 3]$;
- $[2, 3, 1]$;
- $[3, 1, 2]$;
- $[3, 2, 1]$。
由 ChatGPT 4.1 翻译