在乙個平面內給定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 每組資...