[ARC018B] 格子点と整数
题意翻译
## 题目描述
诸君,我喜欢整数!
我喜欢格点!
我喜欢面积!
我喜欢三角形!
我最喜欢在坐标平面上,顶点全在格点上,面积是整数的三角形!
一想到在格点集合中任选三个点使其组成的三角形面积为整数,我就心跳不已。
但是格点太多了,所以数符合条件的三角形个数太麻烦了。
有能力的程序猿请务必代我数一下!
给出$N$个格点。从中任意选出$3$个点作为三角形顶点。请编写程序求出其中面积为整数的三角形的个数。面积为$0$的三角形不能算作三角形!
顺带一提,格点即坐标平面上的点$(x,y)$,其中$x$和$y$都是整数。
## 输入
输入按以下形式。
```
N
x1 y1
x2 y2
:
xN yN
```
- 第一行为表示格点个数的一个整数$N(3≤N≤100)$。
- 从第二行开始的$N$行,每行为用一个空格分开的两个整数。$(x_i,y_i)(1≤x_i,y_i≤10^9)$表示第$i$个格点的位置。同一个格点不会出现两次。$($如果$i≠j$那么$(x_i,y_i)≠(x_j,y_j)$ $)$
## 输出
输出一行从$N$个格点中选出任意$3$个作为顶点构成面积为整数的三角形的个数。别忘了结尾换行。
## 样例
### 输入1
```
3
1 1
1 2
3 1
```
### 输出1
```
1
```
选取这三个点能构成面积为$1$的三角形。
### 输入2
```
3
1 1
1 2
2 1
```
### 输出2
```
0
```
选取这三个点所构成的三角形的面积为$0.5$,不是整数。
### 输入3
```
3
1 1
2 2
3 3
```
### 输出3
```
0
```
这三个点在一条直线上。不能构成三角形。
### 输入4
```
8
3 1
4 1
5 9
2 6
5 3
5 8
9 7
9 3
```
### 输出4
```
38
```
题目描述
[problemUrl]: https://atcoder.jp/contests/arc018/tasks/arc018_2
諸君、私は整数が好きだ。
私は格子点が好きだ。
私は面積が好きだ。
私は三角形が好きだ。
私は座標平面上の、頂点が全て格子点上にある、面積が整数の三角形が大好きだ。
格子点の集合をみたとき、その中の任意の $ 3 $ 点を選んで作ることができる面積が整数の三角形の個数を数えるときは心が踊る。
心が踊るが、格子点が多いと数えるのが面倒臭い。
ぜひ有能なプログラマーである諸君に私の代わりに数えてほしい。
$ N $ 個の格子点を与えるので、その中の任意の $ 3 $ 点を選んで作ることができる、面積が整数の三角形の個数を数えるプログラムを作って欲しい。面積が $ 0 $ の三角形は三角形とは認めん!
ちなみに、格子点というのは座標平面上の点 $ (x,y) $ のうち $ x $ も $ y $ も整数である点のことである。
入力は以下の形式で標準入力から与えられる。
> $ N $ $ x_1 $ $ y_1 $ $ x_2 $ $ y_2 $ : $ x_N $ $ y_N $
- $ 1 $ 行目には、格子点の個数を表す整数 $ N\ (3\ ≦\ N\ ≦\ 100) $ が与えられる。
- $ 2 $ 行目から $ N $ 行では、2つの整数が空白区切りで与えられる。 $ (x_i,\ y_i) (1\ ≦\ x_i,\ y_i\ ≦\ 10^9) $ は $ i $ 番目の格子点の位置である。同じ格子点が二度与えられることはない。( $ i\ \neq\ j $ ならば $ (x_i,\ y_i)\ \neq\ (x_j,\ y_j) $ )
$ N $ 個の格子点のうち $ 3 $ つを選んで作ることができる面積が正の整数である三角形の個数を一行で出力せよ。
なお、出力の最後には改行を入れること。 ```
<pre class="prettyprint linenums">
3
1 1
1 2
3 1
```
```
<pre class="prettyprint linenums">
1
```
$ (1,1),\ (1,\ 2),\ (3,\ 1) $ の面積が $ 1 $ の三角形が一つだけ作れる。 ```
<pre class="prettyprint linenums">
3
1 1
1 2
2 1
```
```
<pre class="prettyprint linenums">
0
```
三角形 $ (1,\ 1)\ (1,\ 2)\ (2,\ 1) $ の面積は $ 0.5 $ で整数ではない。これ以外に三角形は作ることができない。 ```
<pre class="prettyprint linenums">
3
1 1
2 2
3 3
```
```
<pre class="prettyprint linenums">
0
```
$ 3 $ 点は一直線上に並ぶので、三角形を作ることができない。 ```
<pre class="prettyprint linenums">
8
3 1
4 1
5 9
2 6
5 3
5 8
9 7
9 3
```
```
<pre class="prettyprint linenums">
38
```