1451 合法三角形
codeforces
基準時間限制:1 秒 空間限制:131072 kb 分值: 80
難度:5級演算法題
有n個不同的點,問有多少組三元組能構成面積非0的三角形。
input
單組測試資料。output第一行乙個整數n (1 ≤ n ≤ 2000),表示點的數目。
接下來n行,每行包含兩個整數 xi, yi ( -100 ≤ xi, yi ≤ 100),表示第i個點的座標。輸入保證點是兩兩不同的。
輸出合法的三角形數目。input示例
4output示例0 01 1
2 02 2
3思路:就是求三點不共線的個數 = 組合總數 - 三點共線個數
-.-三點共線可以兩點到另一點的斜率來判斷-.-
**:
#include#include#include#include#include#include#includeusing namespace std;
#define ll long long
struct nodedian[2222];
bool cmp(node xx,node yy)
}if (k>1)
ans+=k*(k-1)/2;
return ans;
}void init()
}ll hang()//x相同
}return ans;
}ll lie()//y相同
}return ans;
}int main()
{ scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%hd%hd",&dian[i].x,&dian[i].y);
sort(dian+1,dian+1+n,cmp);
ll ans=0;
for (int i=1;i
51nod 1451 合法三角形
有n個不同的點,問有多少組三元組能構成面積非0的三角形。單組測試資料。第一行乙個整數n 1 n 2000 表示點的數目。接下來n行,每行包含兩個整數 xi,yi 100 xi,yi 100 表示第i個點的座標。輸入保證點是兩兩不同的。輸出合法的三角形數目。4 0 0 1 1 2 0 2 2n 2連邊...
51nod 1451 合法三角形 列舉斜率
1451 合法三角形 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 80 難度 5級演算法題 有n個不同的點,問有多少組三元組能構成面積非0的三角形。input 單組測試資料。第一行乙個整數n 1 n 2000 表示點的數目。接下來n行,每行包含兩個整數 xi,yi...
求大三角形中三角形個數
一道筆試程式設計題要求求乙個大三角形中所有小三角形的個數,大約是下面這種情況 首先想到是的將問題由求邊長為n的三角形個數 求邊長為n 1的三角形個數 求邊長為1的三角形個數 1,回溯求得所有三角形個數。但是再仔細一看因為有重疊三角形和倒置的三角形,所以這個方法不可行。接著找到三角形個數由三部分組成 ...