百度2017春季招聘笔试题
来源:互联网 发布:淘宝开通企业店铺 编辑:程序博客网 时间:2024/04/27 17:03
题目:已知有n个点分布在三维空间,且各个点都有三种颜色中的一种,即’R’,’G’,’B’,每次输入格式为颜色和坐标,要求计算组成的最大三角形的面积
,另外该三角形需要满足的条件是三个点要么颜色完全相同,要么完全不同。输入示例:
5
R 0 0 0
G 92 14 7
R 0 4 0
R 0 0 3
G 12 16 8输出结果:
6.00000
# coding=utf-8import sysimport math# 计算两点间距离def distance(a, b): tmp = (a[1] - b[1])**2 + (a[2] - b[2])**2 + (a[3] - b[3])**2 return math.pow(tmp, 0.5)# 计算三点构成的面积def countArea(a, b, c): line1 = distance(a, b) line2 = distance(a, c) line3 = distance(b, c) p = (line1 + line2 + line3) / 2 return math.pow(p * (p - line1) * (p - line2) * (p - line3), 0.5)def maxArea(data): areas = [] for i in range(len(data)-2): for j in range(i+1,len(data)-1): for k in range(j+1,len(data)): areas.append([ countArea(data[i],data[j],data[k]), data[i][0], data[j][0], data[k][0]]) areas.sort(key=lambda x:x[0],reverse=True) # print(areas) for x in areas: if( ( x[1] == x[2] == x[3] ) or ( x[1] != x[2] and x[1] != x[3] and x[2] != x[3] ) ): return x[0]if __name__ == "__main__": # 读取第一行的n n = int(sys.stdin.readline().strip()) data = [] for i in range(n): # 读取每一行 line = sys.stdin.readline().strip().split() for i in range(1, 4): line[i] = int(line[i]) data.append(line) # print(data) # data = [['R', 0, 0, 0], # ['G', 92, 14, 7], # ['R', 0, 4, 0], # ['R', 0, 0, 3], # ['G', 12, 16, 8] # ] # n = len(data) # data.sort(key=lambda x:x[0]) if(n == 3): print("%.5f"%countArea(data[0], data[1], data[2])) else: maxA = maxArea(data) print("%.5f"%maxA)
0 0
- 百度2017春季招聘笔试题
- 百度2017春季招聘笔试题
- 百度2017春季招聘笔试
- 2011淘宝春季实习生招聘笔试题
- 百度2012年春季实习生校园招聘笔试题和答案
- 百度2015春季实习生招聘附加题
- 2017春季笔试题
- 2016百度春季笔试
- 2015去哪儿网春季招聘笔试题及答案
- 去哪网2015年春季校园招聘笔试题
- 百度2015春季实习生招聘附加题_01排序
- [百度2015春季实习生招聘附加题] 01排序
- [百度2015春季实习生招聘附加题]今天要吃点好的!
- 01排序--百度2015春季实习生招聘附加题
- 百度2013招聘笔试题
- 携程2017春季招聘编程题
- 2016网易春季校园招聘产品策划笔试
- 2017百度实习生招聘笔试真题编程题集合
- 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel
- unix网络编程学习笔记(1)环境配置(CentOS)
- 简单的数学问题
- hihoCoder 1014 : Trie树
- The type javax.servlet.http.HttpServletRequest cannot be resolved. It is indirectly referenced from
- 百度2017春季招聘笔试题
- ubuntu下mpich的安装与使用
- 经典的二叉查找树函数
- AngularJs自定义过滤器
- 面试题思考:try 代码块中含 return 语句时,代码执行顺序
- 有关servlet的笔记
- AngularJS-组件化<component>
- 朴素贝叶斯分类文本 python实现
- centos安装gitlab-ce