码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 1196: 数星星(二)(结构体专题)


    题目描述

    一天,小明坐在院子里数星星,Gardon就出了个难题给他,让他数数天上的星星最多有多少个是在同一条直线上的。天上的星星太多了,小明马上就看花了眼,你能写个程序来帮他计算么?

    输入

    首先输入一个整数N(N<=300),接下来的N对数每对表示一个星星的位置(星星的坐标在-10000到10000之间,精确到小数点后1位)。没有两个星星会在同一个位置。

    输出

    一个整数,表示一条直线上最多星星的数目。

    样例输入 Copy

    5
    0 0
    1 0
    1 1
    0 1
    0.5 0.5

    样例输出 Copy

    3

    问题分析

    星星个数已知,给所有星星一个编号从0—n-1 ,假设所有星星都不在其他星星的连线上这是最多有几条线呢,以0号星星为中心可以与1号2号......n-1号形成n-1条线,以1号星星为中心可以与2号三号......n-1号(注,以一号为中心时已经与二号形成一条线了)形成n-2条线以此类推,可得300颗星星最多形成45000条线,我们定义一个这么长的数组来储存每一条线上的星星数量,以任意两颗星星为中心看看其他星星是否在这条线上如果在则让星星数目加一,在判断星星是否在两颗星的连线上看看这一颗星与其中一颗星连线的斜率是否等于那两颗星连线的斜率即可。

    代码实现

    1. #include
    2. struct point{
    3. double x;
    4. double y;
    5. };
    6. int main(){
    7. int n;
    8. int x[45000]={0};
    9. scanf("%d",&n);
    10. struct point s[300];
    11. for(int i=0;i
    12. scanf("%lf %lf",&s[i].x,&s[i].y);
    13. }
    14. int m=0;
    15. int max=0;
    16. for(int i=0;i-1;i++){
    17. for(int j=i+1;j
    18. for(int k=0;k
    19. if(k!=i&&k!=j&&(s[i].y-s[j].y)/(s[i].x-s[j].x)==(s[i].y-s[k].y)/(s[i].x-s[k].x)){
    20. x[m]++;
    21. }
    22. }
    23. x[m]+=2;
    24. if(max
    25. max=x[m];
    26. }
    27. m++;
    28. }
    29. }
    30. printf("%d",max);
    31. return 0;
    32. }

    提交结果

     

  • 相关阅读:
    元宇宙的八大典型应用场景
    Abnova丨抗GBA单克隆抗体解决方案
    分享一下微信小程序怎么实现积分商城功能
    别再乱看教程了!从源码剖析JVM类加载机制,打通双亲委派机制!
    ardupilot 安装gcc-arm-none-eabi编译工具
    web前端课程设计——重庆旅游7页 HTML+CSS+JavaScript
    Go垃圾回收
    机器学习或者机器视觉代码讲解视频教程
    文档管理使人力资源部门受益的 7 种主要方式
    基于python爬取母婴用品评论的数据分析
  • 原文地址:https://blog.csdn.net/apprentice_eye/article/details/127763920
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号