360校招之圈地运动
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校招之圈地运动相关推荐
- 360笔试编程题-圈地运动
题目描述 圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形.小明喜欢圈地运动,于是他需要去小红店里买一些木棍,期望全出一块地来.小红想挑战一下小明,所以给小明设置了一些障碍.障碍分别是: 1 ...
- 一场针对手机底层的新圈地运动(程苓峰)
这场圈地运动已有四个主要参与者:360.金山.腾讯.百度.它们的共有特点是:都跟安全相关,旗下都有安全产品:更戏剧性一点,都或直接.或间接跟"3X"大战相关. 这场运动旨在争夺对手 ...
- 9.25 360校招面试题总结? 自己面试 c++后端开发,服务器方向,探索部门。
2018.9.25 360校招面试题总结? 自己面试 c++后端开发,服务器方向,探索部门. 1上来问智力题 5L和6L的杯子量出3L的水,如何量? 一.下面开始问c++的基础的东西 ...
- 360 c语言 笔试,奇虎360校招的笔试真题
选择题有45个? 好像是,三道简答题, 简答题: 1.设计一个课程表(包括目标人群.核心功能.特色设计); 2.说ATM的缺点,改进方法; 3.如何让李开复等互联网大牌关注你的微薄? 选择题记得不是很 ...
- 从“圈地运动”到“技术开放”,互联互通迈入深水区
2021年,注定是国内互联网发展史中非同平凡的一年. 互联互通成为了业界关注的焦点. 9月17日,腾讯按照工信部要求,公布微信外链阶段性调整声明,表示会以安全为底线推进互联互通,虽然微信的外链开放只被 ...
- 从1G免费邮箱看互联网新一轮“圈地运动”
作者:冯强 2004.8.9 2004年7月26日晚,我在家登录"雅虎通"后,在线的某公司网管小陈告诉我,快去看Yahoo的邮箱,已经扩容到1G了.我登录雅虎中国的主页(http ...
- 圈地运动-组成面积大于0多边形
题目描述: 圈地运动,就是用很多木棍摆在地上组成一个面积大于0的多边形-小明喜欢圈地运动,于是他需要去小红店里面买一些木棍,期望圈出一块地来.小红想挑战一下小明,所以给小明设置了一些障碍.障碍分别是: ...
- 未来刷脸支付设备圈地运动将会加剧
未来刷脸支付设备的圈地运动将会加剧.而支付宝方面数据显示,自从去年支付宝宣布刷脸支付大规模商业化后,与刷脸支付相关的上下游产业链,催生的研发.生产.安装调试人员就已经达到50万人.刷脸支付项目合作推广 ...
- “美丽到牙齿”的智能硬件圈地运动
热点追踪 / 深度探讨 / 实地探访 / 商务合作 最近恰逢国际妇女节,不出意料,又看到一波以"女神""女生""女王"等为名的营销,其中护肤 ...
- 从话费战到流量战,三大运营商再掀圈地运动
在整个中国的传统行业,有两大行业的竞争是传统企业始料未及的.一个是银行,各大银行竞争来竞争去发现自己的最大竞争对手是支付宝.微信支付等第三方互联网金融平台;另一个则是电信行业,三大运营商的话费战斗来斗 ...
最新文章
- 总结:SQL的优缺点及与NoSQL对比
- 关于博客园的TrackBack功能
- 递归锁,死锁,使用递归锁解决死锁,信号量
- Scala重写父类普通方法
- 指定开始_@高坪人,熏腊肉开始啦!指定地点仅限这9个地方,别走错啦
- 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力
- docker jdk mysql_docker部署springboot前后端分离项目(jdk+jar包+mysql+redis+nginx)(示例代码)...
- RFC的远程调用-异步
- html属于什么数据类型,javascript包括哪些数据类型?
- 问题解决:pip无法使用,经升级后可以使用
- ElasticJob分布式调度,监听器的使用附源码(四)
- C++最简单的日期计算
- 连连跨境支付独立站收款,最高90天提现0费率!
- 在quartus II15.0中调用Modelsim进行时序仿真时出现Rerun the EDA Netlist Writer的原因
- MyBatis 同时执行多条语句【简单扼要】
- 国家司法考试(法考)成功上岸前辈备考经验分享
- 详谈室内定位技术方案
- js脚本根据身份证号获取性别、年龄、家庭地址、生日
- DownloadSDKServer.exe 是什么,DownloadSDKServer.exe 内存占用高怎么办
- 重要性采样(importance sampling)
热门文章
- Step2:【C51】蜂鸣器发声实验
- Myeclipse提示MyEclipse Trial Expired
- 记下js dom动态添加事件的解决方法
- 类和对象7:构造和析构方法
- python爬虫和java爬虫哪个好_应用数据下载
- Windows DHCP Server不能主动有效释放租约过期IP解决办法
- Java Simon--性能瓶颈分析工具
- centos linux安装网卡驱动,如何在CentOS系统下安装网卡驱动
- 暗影精灵6触摸板驱动安装
- 关闭Tomcat报错The web application [ROOT] appears to have started a thread named [Abandoned connectio