平行四邊形數

2021-08-06 04:00:38 字數 761 閱讀 6928

在乙個平面內給定n個點,任意三個點不在同一條直線上,用這些點可以構成多少個平行四邊形?乙個點可以同時屬於多個平行四邊形。

input

多組資料(<=10),處理到eof。

每組資料第一行乙個整數n(4<=n<=500)。接下來n行每行兩個整數xi,yi(0<=xi,yi<=1e9),表示每個點的座標。

output

每組資料輸出乙個整數,表示用這些點能構成多少個平行四邊形。

sample input

4 0 1

1 0

1 1

2 0

sample output

1[分析]

大家可能一開始的思路是算斜率,但是應該算中點。

如果兩條對角線的中點是重合的,那麼就能構成乙個平行四邊形!!!

這裡分享乙個究極大佬的**。

**風格十分飄逸簡短。我看了好久才看懂

大意:輸入乙個點,對其之前輸入的點湊對,構成乙個中點(雖然他沒除二,但中點*2也是唯一的,所以不影響),查詢這個中點map的值然後將值加入ans,然後map值自加。

[**]

#include

#include

#include

using

namespace

std;

int x[505], y[505];

int main()

}printf("%d\n", ans);

}}

平行四邊形數

c 平行四邊形數 time limit 2000ms memory limit 32768kb 64bit io format i64d i64u fzu 2231 description 在乙個平面內給定n個點,任意三個點不在同一條直線上,用這些點可以構成多少個平行四邊形?乙個點可以同時屬於多個平...

平行四邊形數

在乙個平面內給定n個點,任意三個點不在同一條直線上,用這些點可以構成多少個平行四邊形?乙個點可以同時屬於多個平行四邊形。input 多組資料 10 處理到eof。每組資料第一行乙個整數n 4 n 500 接下來n行每行兩個整數xi,yi 0 xi,yi 1e9 表示每個點的座標。output 每組資...

判斷平行四邊形數 typedef pair p

在乙個平面內給定n個點,任意三個點不在同一條直線上,用這些點可以構成多少個平行四邊形?乙個點可以同時屬於多個平行四邊形。input 多組資料 10 處理到eof。每組資料第一行乙個整數n 4 n 500 接下來n行每行兩個整數xi,yi 0 xi,yi 1e9 表示每個點的座標。output 每組資...