'''
[编程题] 射击游戏
时间限制:1秒
空间限制:32768K
小易正在玩一款新出的射击游戏,这个射击游戏在一个二维平面进行,小易在坐标原点(0,0),平面上有n只怪物,
每个怪物有所在的坐标(x[i], y[i])。小易进行一次射击会把x轴和y轴上(包含坐标原点)的怪物一次性消灭。
小易是这个游戏的VIP玩家,他拥有两项特权操作:
1、让平面内的所有怪物同时向任意同一方向移动任意同一距离
2、让平面内的所有怪物同时对于小易(0,0)旋转任意同一角度
小易要进行一次射击。小易在进行射击前,可以使用这两项特权操作任意次。
小易想知道在他射击的时候最多可以同时消灭多少只怪物,请你帮帮小易。

所有点对于坐标原点(0,0)顺时针或者逆时针旋转45°,可以让所有点都在坐标轴上,所以5个怪物都可以消灭。

输入描述:
输入包括三行。
第一行中有一个正整数n(1 ≤ n ≤ 50),表示平面内的怪物数量。
第二行包括n个整数x[i](-1,000,000 ≤ x[i] ≤ 1,000,000),表示每只怪物所在坐标的横坐标,以空格分割。
第二行包括n个整数y[i](-1,000,000 ≤ y[i] ≤ 1,000,000),表示每只怪物所在坐标的纵坐标,以空格分割。

输出描述:
输出一个整数表示小易最多能消灭多少只怪物。

输入例子1:
5
0 -1 1 1 -1
0 -1 -1 1 1

输出例子1:
5
'''

'''
解题思路:寻找垂直线
  利用已知的点,寻找两条相互垂直的直线,使落在这条直线上的点最多,点的数量就是小易最多能消灭的怪物数量
  先选出两个点连成一条直线,然后选出第三个点,这第三个点不能和前两个点重合,也不能在前两个点连成的直线上
  之后去找第四个点,如果第四个点在前两个点所连成的直线上,或者和第三个点组成的直线与上一条直线垂直,则记数变量加1
  遍历完后所有情况后,输出最大的记数变量即可
'''

'''
代码运行结果:
运行超时:您的程序未能在规定时间内运行结束,请检查是否循环有错或算法复杂度过大。
case通过率为40.00%

'''

def main():n = int(input())x_cords = [i for i in map(int, input().split())]y_cords = [j for j in map(int, input().split())]max_ = -1for i1 in range(n):for i2 in range(i1+1, n):dx_12 = x_cords[i1] - x_cords[i2]dy_12 = y_cords[i1] - y_cords[i2]for i3 in range(n):dx_13 = x_cords[i1] - x_cords[i3]dy_13 = y_cords[i1] - y_cords[i3]if i3 == i1 or dy_12*dx_13 == dy_13*dx_12:continueelse:count = 0for i4 in range(0, n):dx_14 = x_cords[i1] - x_cords[i4]dy_14 = y_cords[i1] - y_cords[i4]dx_34 = x_cords[i3] - x_cords[i4]dy_34 = y_cords[i3] - y_cords[i4]if dy_12*dx_14 == dy_14*dx_12 or dx_12*dx_34 == -dy_12*dy_34:count += 1if max_ < count:max_ = countif max_ == -1:max_ = nprint(max_)if __name__ == '__main__':main()

网易2018校园招聘:射击游戏 [python]相关推荐

  1. 网易2018校园招聘:合唱 [python]

    ''' [编程题] 合唱 时间限制:2秒 空间限制:131072K 小Q和牛博士合唱一首歌曲,这首歌曲由n个音调组成,每个音调由一个正整数表示. 对于每个音调要么由小Q演唱要么由牛博士演唱,对于一系列 ...

  2. 数据分析真题日刷 | 网易2018校园招聘数据分析工程师笔试卷

    七月第一天,希望大家下半年都能「翻身」! 今日真题 网易2018校园招聘数据分析工程师笔试卷(来源:牛客网) 题型 客观题:单选20道:主观题:问答3道 完成时间 120分钟 牛客网评估难度系数 四颗 ...

  3. 网易2018校园招聘编程题真题集合

    1/8 [编程题]魔法币 #include<bits/stdc++.h> using namespace std; #define clr(a) memset(a, 0, sizeof(a ...

  4. 网易2018校园招聘编程题

    [编程题] 魔法币 时间限制:1秒 空间限制:32768K 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0) ...

  5. 网易2018校园招聘编程题真题集合 详解

    ##编程题 ###一.魔法币 ####描述: 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入 xxx(xxx 可以为 00 ...

  6. 魔法王国java_网易2018校园招聘面试编程题真题与参考答案集合

    [编程题] 魔法币 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币. 魔法机器1: ...

  7. [2018]试卷: 网易2018校园招聘编程题真题集合

    [编程题] 魔法币 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币. 魔法机器1: ...

  8. 网易2018校园招聘:重排数列 [python]

    ''' [编程题] 重排数列 时间限制:1秒 空间限制:100768K 小易有一个长度为N的正整数数列A = {A[1], A[2], A[3]..., A[N]}. 牛博士给小易出了一个难题: 对数 ...

  9. 网易2018校园招聘:相反数 [python]

    ''' [编程题] 相反数 时间限制:1秒 空间限制:32768K 为了得到一个数的"相反数",我们将这个数的数字顺序颠倒,然后再加上原先的数得到"相反数". ...

最新文章

  1. linux qemu 源码编译
  2. 说说 RabbiMQ 的应答模式
  3. UNITY3D与iOS交互解决方案
  4. BZOJ 3653: 谈笑风生(离线, 长链剖分, 后缀和)
  5. 特斯拉:感谢A股股民!
  6. 【Maven】mvn install 本地jar 或者 项目 添加到maven仓库中
  7. Spring MVC http消息转换类
  8. python 菜鸟-Python3 模块
  9. sqlite3 判断数据库和表的状态
  10. 猿编程python,python编程猿
  11. 好用的mysql数据字典工具
  12. java开发工程师简历项目经验怎么写?应该注意哪些事项?
  13. 64位计算机比32快多少,电脑系统应该选择64位还是32位 到底哪个速度更快?
  14. LVDS接口定义详解
  15. 无法复制:数据错误(循环冗余检查)的解决方法
  16. 【Linux】Shell脚本:while read line无法读取最后一行???
  17. 做抖音自媒体能赚钱吗?
  18. 目标检测中IoU(Intersection over Union)的概念理解
  19. gn、ninja的安装-Ubuntu18.04
  20. 使用tb6612模块驱动直流电机

热门文章

  1. java 解析p12_java引用微信支付的p12证书文件
  2. 英雄联盟手游常见问题
  3. 饭后吃一种水果就能化痰止咳(附赠10个化痰小偏方)
  4. mysql中复制表结构的方法(亲测通过)
  5. 计算机win10分区软件,如何利用Win10系统DiskPart工具进行GPT硬盘分区
  6. 数字图像处理之matlab实验(一):基本操作
  7. 基于51单片机的小区智能防盗门禁密码锁 proteus仿真程序设计
  8. 怎样使用计算机函数求出等级,巧用Excel函数出练习题
  9. node.js详细安装教程及使用
  10. python数组列表添加一行一列np.rowstack()np.column_stack()