
【三角形斜率】【数论】三角形(triangle)
发布日期:2021-05-07 22:46:36
浏览次数:21
分类:精选文章
本文共 793 字,大约阅读时间需要 2 分钟。
题目描述
平面上有n个点,求出用这些点可以构成的三角形数。
输入
第一行一个整数n。
接下来n行,每行两个整数,表示点的坐标。
输出
输出仅一个整数,表示所求答案。
输入样例
50 01 11 -1-1 -1-1 1
输出样例
8
思路
先计算n个点(无限制)最多能构成的三角形数。
然后计算斜率,去除斜率相同的两边连接的三点能构成的三角形数。代码
#include#include #include using namespace std;long long n,x[10001],y[10001],count,ans,t,l;double b[10000001];int main(){ scanf("%lld",&n); ans = n * (n-1) * (n-2) / 6; for(long long i = 1; i <= n; ++i){ scanf("%lld%lld",&x[i],&y[i]); t = 0; l = 1; for(long long j = i-1; j; --j){ if(x[i] - x[j] == 0) b[++t] = 10000000000; else b[++t] = (double)(y[i] - y[j]) / (double)(x[i] - x[j]); } sort(b+1,b+1+t); for(long long j = 2; j <= t; ++j){ if(b[j] == b[j-1]) ++l; else{ ans -= l * (l-1) / 2; l = 1; } } ans -= l * (l-1) / 2; } printf("%lld",ans);} ```
发表评论
最新留言
很好
[***.229.124.182]2025年04月16日 08时22分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ASP.NET javascript实现图片切换
2021-05-08
ASP.NET jQuery 小实例(实现图片的放大&缩小)
2021-05-08
IIS express web 无法启动服务器
2021-05-08
“/”应用程序中的服务器错误。
2021-05-08
MUI之ajax获取后台接口数据
2021-05-08
使用sqlserver 查询不连续的数据
2021-05-08
用div+css+html+js 实现图片放大
2021-05-08
mui+vue.js实现上拉刷新和下拉加载
2021-05-08
mui实现分享新浪微博、QQ分享、微信分享的申请过程和分享成功过程
2021-05-08
mui返回到父页页面并进行刷新
2021-05-08
数据库中优化lock
2021-05-08
layui 点击选择框为啥会出现震动(已解决)
2021-05-08
layui跨行的使用
2021-05-08