QOJ.ac

QOJ

時間限制: 3.0 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#23645. スローン大尉

统计

チス・アセンダンシーの Thrawn 大尉は Paataatus の母星に取り残されてしまいました!彼は Ar'alani 提督に届けなければならない極めて重要な情報を持っていますが、味方の宇宙船が迎えに来るのを待つことはできません。代わりに、その情報を彼女に送信するための通信トライアド(三連通信機)を設置する必要があります。トライアドは 3 つのパーツからなり、データを正常に送信するためには、それらすべてを互いに等しい非ゼロのユークリッド距離(すなわち正三角形の頂点)に配置する必要があります。

しかし、チスと Paataatus の政治的関係は緊迫しているため、Paataatus 政府は Thrawn がどこにでもトライアドのパーツを置くことを許しません。Paataatus の首都は一辺の長さが $l$ の正六角形の形をしています。ここには西から東へ走る等間隔の平行な通り(Street)が $2l + 1$ 本あり、南から北へ $-l$ から $l$ まで番号が付けられています。通り $-l$ は六角形の最も南側の辺に沿っており、通り $l$ は六角形の最も北側の辺に沿っており、通り $0$ は六角形の中心を通っています。

同様に、北西から南東へ走る等間隔の平行なアベニュー(Avenue)が $2l + 1$ 本あり、南西から北東へ $-l$ から $l$ まで番号が付けられています。アベニュー $-l$ は六角形の最も南西側の辺に沿っており、アベニュー $l$ は六角形の最も北東側の辺に沿っており、アベニュー $0$ は六角形の中心を通っています。

さらに、南西から北東へ走る等間隔の平行なブールバール(Boulevard)が $2l + 1$ 本あり、南東から北西へ $-l$ から $l$ まで番号が付けられています。ブールバール $-l$ は六角形の最も南東側の辺に沿っており、ブールバール $l$ は六角形の最も北西側の辺に沿っており、ブールバール $0$ は六角形の中心を通っています。

以下は $l = 2$ の場合の首都のレイアウトの例です:

problem_23645_61db380b8da2c2f06c4fa47d141b47f1.png

通り、アベニュー、ブールバールの各交差点には塔があります。通りの番号が $x$、アベニューの番号が $y$、ブールバールの番号が $z$ であるとき、その塔の座標は $(x, y, z)$ です。各塔はいずれかの Paataatus の高官が所有しています。

Thrawn にとって幸運なことに、彼はこれまでの経歴の中で何人かの Paataatus の高官を助けたことがあり、今や彼らはその恩返しとして、自分たちの所有する塔にトライアドのパーツを設置することを許可してくれています。彼らは合計で $n$ 基の塔を所有しているため、Thrawn はトライアドを確立するために、互いに等距離にある 3 基の塔を選ぶ必要があります。選択を行う前に、Thrawn はすべての選択肢、あるいは少なくとも何通りの選択肢があるかを知りたいと考えています。通信トライアドを確立できる 3 基の塔の選び方の総数を数えるのを手伝ってください。

入力

1 行目には 2 つの整数 $l$ と $n$ — 首都の一辺の長さと Thrawn を助けてくれる塔の数($1 \le l \le 500$; $1 \le n \le 3 \cdot l \cdot (l + 1) + 1$)が含まれます。

続く $n$ 行のそれぞれには 3 つの整数 $x_i, y_i, z_i$ — $i$ 番目の塔の座標($-l \le x_i, y_i, z_i \le l$)が含まれます。すべての座標の組がいずれかの塔を表しており、入力に含まれるすべての塔が互いに異なることが保証されます。

出力

単一の整数 — 条件を満たす 3 基の塔を選ぶ方法の総数を出力してください。

入出力例

入力 1

2 6
-1 -2 1
2 2 0
-1 1 -2
-1 0 -1
1 1 0
0 1 -1

出力 1

1

入力 2

1 7
0 1 -1
1 1 0
0 -1 1
1 0 1
-1 -1 0
-1 0 -1
0 0 0

出力 2

8

注記

参考用の三角格子です:

problem_23645_cd9cbf58f065d9a594a7e17a785b57df.png

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.