time limit: 1 sec
memory limit: 128 mb
submit: 19
solved: 11 [
submit][
status][
web board]
給乙個15000 * 15000 的區域, 座標都是整數.
其中有n個點,n <= 770.問總共有多少個3點共線的組合.並按公升序(點的id)輸出所有的組合.(先按第乙個點的id公升序,然後第二個,然後第三個)
多組測試資料,讀到檔案末尾
每組資料第一行乙個數n
接下來n行,第i行兩個數x,y,代表id為i的點的座標為x,y
所有輸入均為整數
每組樣例第一行乙個數k,代表三點共線的個數
接下來k行,每行三個數,代表共線的三個點的id
1639 16
31 6
9 828 12
39 17
21 27
46 30
20 26
36 20
29 28
47 28
20 13
21 32
36 3
19 12
33 28
4解題思路:2 5 11
4 7 9
7 8 16
10 11 16
根據資料,我們可以暴力列舉每三個不同的點,如果向量ab與向量ac的叉積等於0的話,說明abc三點共線。
完整**:
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
#pragma comment(linker, "/stack:102400000,102400000")
typedef long long ll;
typedef double db;
typedef unsigned uint;
typedef unsigned long long ull;
/** constant list .. **/ //q[10001];
int s[10000001];
bool check(node a , node b , node c)
int main()
int t = 1;
int cnt = 0;
for(int i = 1 ; i <= n ; i++)}}
}printf("%d\n",cnt);
/* for(int i = 1 ; i < t ; i ++)
cout << s[i] << " " ;
cout << endl;
*/for(int i = 1 ; i < t ; i++)}}
}
vtk實現三點確定乙個平面
如何在vtk中根據三點提取乙個切面,一直知道根據三點就能表示乙個面,但是怎麼在vtk中實現,對於我這種菜鳥真是要想好久。首先說說現在的思路,知道vtkimagepalne中可以根據乙個點和乙個面法向量獲得乙個面。現在我有三個點,需要獲得乙個面法向量,那麼需要通過叉乘得到,再然後根據乙個點和得到的面法...
三點確定乙個圓的計算方法
三點確定乙個圓的計算方法 最近在寫的乙個軟體需要根據三個座標點來計算乙個圓。因此花了點時間推導了相關的公式。這個推導不算太難,放在這裡主要是做個備忘。我們設乙個圓的圓心座標為 x 0 y x0,y x 0,y 半徑為 r rr。那麼這個圓的方程可以寫為 x x 0 2 y y 0 2 r 2 x x...
據說你只要學會以下三點,旅遊就會變成一件很簡單的事
第一是面向選擇困難症的人們,每個人幾乎都遇到過,當我們準備好了來一場旅行,卻不知道去哪?據不完全統計,這是人們需求日益提高的一種表現,我們往往想用有限的時間去做無限的事情,所以面臨這諸多選擇的時候,就會變得煩躁起來。其實這種情況,我們完全可以通過科學的辦法得到解決,也就是資料分析。不同以往,生活在網...