社区
C语言
帖子详情
求同一条直线所能通过的最多点数
dyh333
2009-11-17 11:49:58
已知平面上n(n<=10)个点的直角坐标,编程求同一条直线所能通过的最多点数
...全文
168
5
打赏
收藏
求同一条直线所能通过的最多点数
已知平面上n(n<=10)个点的直角坐标,编程求同一条直线所能通过的最多点数
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dyh333
2009-11-22
打赏
举报
回复
高手指教
dyh333
2009-11-20
打赏
举报
回复
#include <stdio.h>
#include <stdlib.h>
#define M 20
int main(int argc, char *argv[])
{
int r[M][2],max=0,count,m,i,j,p;
float k;
printf("输入点个数m:"); scanf("%d",&m);
for(i=1;i<=m;i++)
{printf("第%d个点的坐标:",i);
scanf("%d,%d",&r[i][0],&r[i][1]);
}
for(i=1;i<m;i++)
for(j=i+1;j<=m;j++)
{count=2;
k=(r[i][1]-r[j][1])/(r[i][0]-r[j][0]);
if(j<m)
{for(p=j+1;p<=m;p++)
{if((r[p][1]-r[i][1])/(r[p][0]-r[i][0])==k) count++;}
}
if(count>max) max=count;
}
printf("%d",max);
system("PAUSE");
return 0;
}
这算法可以吗 好像不是很好
berryluo
2009-11-18
打赏
举报
回复
才10个点枚举就可以了,定了某两个点,看其它点是不是会在这两人点确定的直线上;
如果是N(N>=10000)个点,那么就可以考虑其它的算法了,这样的算法也是有的
macrojj
2009-11-18
打赏
举报
回复
你也可以先暴力求斜率,把斜率相同的再计算完整的直线。这样会稍稍减少复杂度。
mstlq
2009-11-17
打赏
举报
回复
两点决定一条直线,总共可能的直线不过100条……
暴力穷举就行了……
【空间结构编程真题】已知平面上有m个点,
求同
一条
直线
所能
通过的最多
点数
方法一(子问题1): 【思路】 固定任意两端点,确定
一条
直线
,依次取出剩下的m-2个点,若点在
直线
上则计数加一。 【适合考场作答】 #include <stdio.h> #include <stdlib.h> #define maxSize 1000 typedef struct { float x; float y; }Point; int main(...
leetcode:max-points-on-a-line(
直线
上最多的
点数
)
题目描述 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同
一条
直线
上。 示例 1: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | o | o ±------------> 0 1 2 3 4 示例 2: 输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]] 输出: 4 ...
哈希应用—
求同
一条
直线
上的点的数量
注意: 1.本博客仅供参考交流使用,请读者务必自行实践,切勿生搬硬套 2.由于笔者水平有限,若文中有错误或者可以改进之处,欢迎在评论区指出 题目 Description 现在输入N个平面坐标系上点,每个点均是过原点的
直线
(形如y=kx,k为int型,0<k<100)上的点,现要求判断这组输入的点的坐标之中,最多有几个点是在同
一条
y=kx
直线
上。PS:每组测试用例中不同斜率k的个数不超过...
LeetCode刷题笔记 标准模板库巧解算法题 哈希表
哈希表简介 哈希表,又称散列表,使用 O(n) 空间复杂度存储数据,通过哈希函数映射位置,从而实现近似 O(1) 时间复杂度的插入、查找、删除等操作。 C++ 中的哈希集合为 unordered_set,可以查找元素是否在集合中。如果需要同时存储键和值,则需要用 unordered_map,可以用来统计频率,记录内容等等。如果元素有穷,并且范围不大,那么可以用一个固定大小的数组来存储或统计元素。例如我们需要统计一个字符串中所有字母的出现次数,则可以用一个长度为 26 的数组来进行统计,其哈希函数即为
行测【推理判断之图形推理】
1.位置类识别特征:元素组成相同。2.位置类考点:(1)平移:考查较多,宫格类平移观察运动轨迹、到头后如何走、黑块如何识别、个别黑块重合应如何观察。(2)旋转:方向+角度(小难点:钟表类旋转,分开观察每
一条
线)。(3)翻转:左右翻转+上下翻转。区分翻转和 180°旋转;哪里看懂看哪里。3.重要思维:(1)相邻比较。(2)多个元素分开看,看一个排除一个。(3)就近走原则样式类识别特征:元素组成相似样式类考点:1.加减同异(1)技巧:结合选项,找一两根线即可(缺口)
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章