time limits: 4000 ms memory limits: 65536 kb detailed limits
description
二維平面座標系中有n個點。
從n個點選擇3個點,問有多少選法使得這3個點形成直角三角形。
input
第一行包含乙個整數n(3<=n<=1500),表示點數。
接下來n行,每行包含兩個用空格隔開的整數表示每個點的座標,座標值在-10^9到10^9之間。
每個點位置互不相同。
output
輸出直角三角形的數量。
sample input
輸入1:34 2
2 11 3
輸入2:
45 0
2 68 6
5 7輸入3:
5-1 1
-1 0
0 01 0
1 1
sample output
輸出1:1輸出2:
0輸出3:
7
1 #include 2using
namespace
std;
3struct
arrtu[1505],f[1505];7
int ans[5];8
int x[1505],y[1505];9
intn,sum;
10int
cmp(arr a,arr b)
1314
int rt90(int
o)21
22int merge(int x,int
y)23
else
39 k+=1;40
}41while (i<=mid)
45while (j<=y)
49for (int i=x;i<=y;i++)
50 tu[i]=f[i];51}
52}5354
intmain() else
69while (!((tu[j].x>0)&&(tu[j].y>=0
)))70
rt90(j); 71}
72 merge(2
,n);
73int j=2;74
while (j<=n)
81 j=k;
82for (int o=0;o<=3;o++)
83 sum+=ans[o]*ans[(o+1)%4
];84}85
}86 printf("
%ld"
,sum);
87 }
正直角三角形
在平面直角座標系的第一象限內有m個點。正直角三角形 是一種奇特的三角形,它的三個頂點分別在原點 x軸的正方向和y軸的正方向。請用乙個面積最小的 正直角三角形 將這些點全部圍住,求解面積的大小。題目中所有的座標 包括正直角三角形的頂點座標 都為整數。input 1 m,xi,yi 100 每行乙個答案...
直角三角形 紀中 1385 數學 斜率
二維平面座標系中有n個點。從n個點選擇3個點,問有多少選法使得這3個點形成直角三角形。第一行包含乙個整數n 3 n 1500 表示點數。接下來n行,每行包含兩個用空格隔開的整數表示每個點的座標,座標值在 10 9到10 9之間。每個點位置互不相同。輸出直角三角形的數量。輸入1 4 22 1 1 3輸...
模擬 直角三角形
平面上給定n個兩兩不同的整點,統計以給定的點為頂點,且直角邊平行於座標軸的直角三角形數。輸入格式 輸入檔案right.in第一行為乙個整數n。以下n行,每行給出乙個點的座標。輸出格式 輸出檔名為right.out。輸出乙個整數表示統計結果。輸入樣例 1 0 0 0 11 0 1 1 輸出樣例 1 4...