CF2195H Codeforces Heuristic Contest 001

题目描述

给定一个 $3n \times 3n$ 的点阵,包含所有整数点 $(x, y)$,满足 $1 \le x, y \le 3n$。 请找出一个最大集合的三角形,需满足以下条件: - 每个三角形的三个顶点都在格点上,且恰好有三个不同的顶点。 - 每个三角形的面积恰好为 $\frac{1}{2}$。注意三角形不一定要求为直角三角形。 - 任意两个三角形都没有公共的交点,包括顶点。 如果存在多个规模最大的三角形集合,你可以输出其中任意一个。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \le t \le 30$),表示测试用例的组数。 接下来每组测试用例占一行,包含一个整数 $n$($1 \le n \le 166$)。 保证所有测试用例中 $\sum n^2 \le 166^2$。

输出格式

对于每组测试用例,首先输出一行,包含一个整数 $m$,表示三角形集合的最大数量($0 \le m \le 3n^2$)。 接下来输出 $m$ 行,每行 $6$ 个整数 $x_{i,1}\;y_{i,1}\;x_{i,2}\;y_{i,2}\;x_{i,3}\;y_{i,3}$,代表第 $i$ 个三角形的三个顶点分别为 $(x_{i,1},y_{i,1})$、$(x_{i,2},y_{i,2})$、$(x_{i,3},y_{i,3})$。 每个三角形顶点输出顺序可以随意(顺时针或逆时针均可)。 只要输出满足所有条件且最大规模正确即可通过。

说明/提示

在第一个测试用例中,示例输出展示了 $2$ 个三角形,如下图所示: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2195H/c057be17528d33d4a7a59438642fc44d1fc91068ec6feb7c6bd66fa85b0fc00f.png) 在第二个测试用例中,示例输出展示了 $12$ 个三角形,见下左图: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2195H/0e82b5ed1e62fedbe970de8541d1e2820d6137d34e3775a4522287cb96c2e325.png) 由于三角形不要求为直角三角形,右图中的三角形集合同样是合法的。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2195H/94c24a3a5d47da4337dd6a445b552083b4602ff11161bbcfc7a875960a9fc865.png) 由 ChatGPT 5 翻译