360校招编程之圈地运动

  • 题目
  • 思路
  • lic代码(python)
  • 参考代码

题目

圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形~

小明喜欢圈地运动,于是他需要去小红店里面买一些木棍,期望圈出一块地来。小红想挑战一下小明,所以给小明设置了一些障碍。障碍分别是:

1.如果小明要买第i块木棍的话,他就必须把前i-1块木棍都买下来。

2.买了的木棍都必须用在圈地运动中。

那么请问小明最少买多少根木棍,才能使得木棍围成的图形是个面积大于0多边形呢?

思路

所谓 面积大于0的多边形 可以理解为 凸多边形
n条边围成凸n边形的充要条件是:
四边形:任选3边之和都要大于第4边(注意是任选,也就是说要满足4个不等式)
n边形:任选(n-1)边之和都要大于第n边.
这些都是根据公理(两点之间线段最短)得来的

简化:
任选(n-1)边之和都要大于第n边复杂度过大)→
n-1边的和大于最长边,就能组成封闭多边形**(合理
然而自己没想到,菜啊,用定理生搬硬套,编程全靠遍历,不动脑筋。下面会贴自己的因为复杂度过高没有通过的程序和参考程序代码

lic代码(python)

n = int(input())
lic = list(map(int,input().split()))
s,res = [],[]
for i in range(len(lic)):s.append(sum(lic[:i+1]))
for i in range(2,len(lic)):flag = 1for j in range(i+1):if s[i]-lic[j]<=lic[j]:flag = 0breakres.append(flag)
for i in range(len(res)):flag = 0if res[i] == 1:print(i+3)flag = 1break
if flag == 0:print(-1)

参考代码

while 1:try:nums = int(input())lists = list(map(int, input().strip().split(' ')))if nums <= 2:print('-1')exit()index = 2for i in range(nums-2):# 因为在前面的sum中,把最长边也加进去了,所以后面的max要乘2;result = sum(lists[:index+1]) - max(lists[:index+1])*2if result > 0:print(index+1)exit()index += 1print('-1')except:break

(被全方位吊打,继续加油吧。。)

360校招之圈地运动相关推荐

  1. 360笔试编程题-圈地运动

    题目描述 圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形.小明喜欢圈地运动,于是他需要去小红店里买一些木棍,期望全出一块地来.小红想挑战一下小明,所以给小明设置了一些障碍.障碍分别是: 1 ...

  2. 一场针对手机底层的新圈地运动(程苓峰)

    这场圈地运动已有四个主要参与者:360.金山.腾讯.百度.它们的共有特点是:都跟安全相关,旗下都有安全产品:更戏剧性一点,都或直接.或间接跟"3X"大战相关. 这场运动旨在争夺对手 ...

  3. 9.25 360校招面试题总结? 自己面试 c++后端开发,服务器方向,探索部门。

    2018.9.25 360校招面试题总结?   自己面试  c++后端开发,服务器方向,探索部门. 1上来问智力题       5L和6L的杯子量出3L的水,如何量? 一.下面开始问c++的基础的东西 ...

  4. 360 c语言 笔试,奇虎360校招的笔试真题

    选择题有45个? 好像是,三道简答题, 简答题: 1.设计一个课程表(包括目标人群.核心功能.特色设计); 2.说ATM的缺点,改进方法; 3.如何让李开复等互联网大牌关注你的微薄? 选择题记得不是很 ...

  5. 从“圈地运动”到“技术开放”,互联互通迈入深水区

    2021年,注定是国内互联网发展史中非同平凡的一年. 互联互通成为了业界关注的焦点. 9月17日,腾讯按照工信部要求,公布微信外链阶段性调整声明,表示会以安全为底线推进互联互通,虽然微信的外链开放只被 ...

  6. 从1G免费邮箱看互联网新一轮“圈地运动”

    作者:冯强  2004.8.9 2004年7月26日晚,我在家登录"雅虎通"后,在线的某公司网管小陈告诉我,快去看Yahoo的邮箱,已经扩容到1G了.我登录雅虎中国的主页(http ...

  7. 圈地运动-组成面积大于0多边形

    题目描述: 圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形-小明喜欢圈地运动,于是他需要去小红店里面买一些木棍,期望圈出一块地来.小红想挑战一下小明,所以给小明设置了一些障碍.障碍分别是: ...

  8. 未来刷脸支付设备圈地运动将会加剧

    未来刷脸支付设备的圈地运动将会加剧.而支付宝方面数据显示,自从去年支付宝宣布刷脸支付大规模商业化后,与刷脸支付相关的上下游产业链,催生的研发.生产.安装调试人员就已经达到50万人.刷脸支付项目合作推广 ...

  9. “美丽到牙齿”的智能硬件圈地运动

    热点追踪 / 深度探讨 / 实地探访 / 商务合作 最近恰逢国际妇女节,不出意料,又看到一波以"女神""女生""女王"等为名的营销,其中护肤 ...

  10. 从话费战到流量战,三大运营商再掀圈地运动

    在整个中国的传统行业,有两大行业的竞争是传统企业始料未及的.一个是银行,各大银行竞争来竞争去发现自己的最大竞争对手是支付宝.微信支付等第三方互联网金融平台;另一个则是电信行业,三大运营商的话费战斗来斗 ...

最新文章

  1. 总结:SQL的优缺点及与NoSQL对比
  2. 关于博客园的TrackBack功能
  3. 递归锁,死锁,使用递归锁解决死锁,信号量
  4. Scala重写父类普通方法
  5. 指定开始_@高坪人,熏腊肉开始啦!指定地点仅限这9个地方,别走错啦
  6. 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力
  7. docker jdk mysql_docker部署springboot前后端分离项目(jdk+jar包+mysql+redis+nginx)(示例代码)...
  8. RFC的远程调用-异步
  9. html属于什么数据类型,javascript包括哪些数据类型?
  10. 问题解决:pip无法使用,经升级后可以使用
  11. ElasticJob分布式调度,监听器的使用附源码(四)
  12. C++最简单的日期计算
  13. 连连跨境支付独立站收款,最高90天提现0费率!
  14. 在quartus II15.0中调用Modelsim进行时序仿真时出现Rerun the EDA Netlist Writer的原因
  15. MyBatis 同时执行多条语句【简单扼要】
  16. 国家司法考试(法考)成功上岸前辈备考经验分享
  17. 详谈室内定位技术方案
  18. js脚本根据身份证号获取性别、年龄、家庭地址、生日
  19. DownloadSDKServer.exe 是什么,DownloadSDKServer.exe 内存占用高怎么办
  20. 重要性采样(importance sampling)

热门文章

  1. Step2:【C51】蜂鸣器发声实验
  2. Myeclipse提示MyEclipse Trial Expired
  3. 记下js dom动态添加事件的解决方法
  4. 类和对象7:构造和析构方法
  5. python爬虫和java爬虫哪个好_应用数据下载
  6. Windows DHCP Server不能主动有效释放租约过期IP解决办法
  7. Java Simon--性能瓶颈分析工具
  8. centos linux安装网卡驱动,如何在CentOS系统下安装网卡驱动
  9. 暗影精灵6触摸板驱动安装
  10. 关闭Tomcat报错The web application [ROOT] appears to have started a thread named [Abandoned connectio