小易正在玩一款新出的射击游戏,这个射击游戏在一个二维平面进行,小易在坐标原点(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

import java.util.Scanner;
public class KillMonster {public static void main(String[] args){//输入所有数据Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] x = new int[n];int[] y = new int[n];for(int i=0;i < n;i++){x[i] = sc.nextInt();}for(int i=0;i < n;i++){y[i] = sc.nextInt();}//创建存储斜率的数组int[] slope = new int[n*n];int[] verticalSlope = new int[n*n];//找出所有斜率组合int s=0;for(int j=0;j < n;j++){for(int k=j+1; k < n;k++){if(x[j]-x[k] != 0 && y[j]-y[k] != 0){slope[s] = (x[j]-x[k])/(y[j]-y[k]);if(slope[s] != 0){verticalSlope[s] = -1*(1/slope[s]);//System.out.println(slope[s]);s++;}}}}//判断当斜率不为0或者无限大的时候交点个数//b1 b2为直线和X Y轴的交点的Y坐标//counth countv 为的直线和点交点个数//intersection 为两条直线的交点个数int b1 = 0;int b2 = 0;int counth = 0;int countv = 0;int intersection = 0;int temp1=0;int temp2=0;for(int u=0;u<s;u++){for(int i=0;i<n;i++){b1 = slope[u]*x[i]-y[i];for(int j=0;j<n;j++){b2 = verticalSlope[u]*x[j]-y[j];for(int k=0;k<n;k++){if(y[k] == slope[u]*x[k]-b1){counth++;}if(y[k] == verticalSlope[u]*x[k]-b2){countv++;}if(y[k] == slope[u]*x[k]-b1 && y[k] == verticalSlope[u]*x[k]-b2){intersection++;}}temp1 = counth+countv-intersection;counth = 0;countv = 0;intersection = 0;if(temp1 > temp2){temp2 = temp1;}}}}//判断当直线斜率为0的情况int xValue = 0;int yValue = 0;int counth2 = 0;int countv2 = 0;int intersection2 = 0;int temp3 = 0;int temp4 = 0;for(int u=0;u<n;u++){for(int i=0;i<n;i++){xValue = x[u];yValue = y[i];for(int j=0;j<n;j++){if(x[j] == xValue){counth2++;}if(y[j] == yValue){countv2++;}if(x[j] == xValue && y[j] == yValue){intersection2++;}}temp3 = counth2+countv2-intersection2;counth2 = 0;countv2 = 0;intersection2 = 0;if(temp3 > temp4){temp4 = temp3;}}}if(temp4 > temp2){temp2 = temp4;}System.out.println(temp2);}
}

2018网易编程射击游戏相关推荐

  1. 网易2018校园招聘:射击游戏 [python]

    ''' [编程题] 射击游戏 时间限制:1秒 空间限制:32768K 小易正在玩一款新出的射击游戏,这个射击游戏在一个二维平面进行,小易在坐标原点(0,0),平面上有n只怪物, 每个怪物有所在的坐标( ...

  2. C#游戏编程之创建一个简单的卷轴射击游戏

    前几天很多朋友要求贴一篇有关C#游戏开发的实例.本篇文章是创建一个简单的卷轴射击游戏开发实例,内容比较完整,分享给大家,不过篇幅有些长,可以慢慢看哈!本文除CSDN博客外,任何媒体和出版物禁止转载和使 ...

  3. Java Swing打猎射击游戏编程代码下载

    代码下载地址:http://www.zuidaima.com/share/1858069987494912.htm 原文:Java Swing打猎射击游戏编程代码下载 这是一款java swing编写 ...

  4. 视频教程-C++游戏编程实例精讲--3D射击游戏作弊-C/C++

    C++游戏编程实例精讲--3D射击游戏作弊 80后,游戏作弊工程师,从事C++开发14年,擅长语言:C,C++ 领域:服务器开发,精通MFC,STL,Boost,熟悉TCP/IP协议,熟练运用IOCP ...

  5. Python奥特曼打怪兽射击游戏(基于海龟画图创作的作品,来自Python创意编程100例sprites篇_Python精灵模块)

    相信这竟然是Python用海龟画图制作的作品吗? sprites模块就是用python的turtle模块开发的!所以本作品仍属于Python海龟画图作品 """奥特曼打怪 ...

  6. Unity空间射击游戏开发教程

    描述 在本课程中,您将学习如何在unity中制作一款太空射击游戏.本课程使用全新的特性和编码实践,并且兼容所有较新版本的unity. 了解如何使用世界领先的免费游戏开发工具Unity创建太空射击游戏. ...

  7. 2018 腾讯功能游戏开发者赛事火热开启

    9月6日,2018腾讯功能游戏开发者大赛正式开启,本次赛事是由腾讯功能游戏举办,旨在为国内优秀功能游戏作品提供发展平台,激活游戏研发从业者关注功能游戏领域.据了解,此次大赛为国内开发者提供与海外功能游 ...

  8. unity太空射击源码_引擎入门 | 创建双杆射击游戏(入门 2)

    点击上方"蓝字"关注我们吧! 本期我们继续为大家进行双杆射击游戏的后续教程 学习内容 3.整理资产 4.导入资产 5.安装 Blender 6.导入包 文章末尾可免费获取教程源代码 ...

  9. python能做什么游戏-有趣又好玩的9个Python编程小游戏、简直太棒了

    打开搜狗搜索APP,查看更多精彩资讯 学习编程对大多数人来说是枯燥而无聊,大家有时候往往会觉得精神崩溃,提不起学习的兴趣,因此从入门到放弃,面临这种困境该怎么办呢? 这时候就有一些大牛设计出用游戏来学 ...

  10. 使用 Node 开发一个多人对战的射击游戏

    点击上方 前端瓶子君,关注公众号 回复算法,加入前端编程面试算法每日一题群 来源:我系小西几呀 https://juejin.cn/post/6960096410305822751 相信大家都是知道游 ...

最新文章

  1. 三步快删EXCEL工作表下面出现1000多万行无用数据或者空白行(空值行)
  2. OO第一单元总结博客
  3. chroma_format_idc表示的色度采样结构
  4. 分享套接字数据包序列化与反序列化方法
  5. 针对C++异常的学习
  6. java 日期 年数_java 日期加减天数、月数、年数的计算方式
  7. matlab语音去除白噪声_全国首款“AI语音电梯”亮相海淀医院、北医三院
  8. squid 简单介绍及代理说明
  9. PowerDesigner显示Comment注释栏
  10. elasticsearch 问题.
  11. java swing图书管理系统 java swing mysql实现的图书管理系统源码(1023)
  12. webgate 重构 工作进度计划
  13. html做新浪体育,新浪体育台看不了怎么办?新浪体育台网页版加载失败的解决方法介绍...
  14. 带你玩转软件项目测试管理——项目研发管理模式(一)
  15. ES(ElasticSearch) 索引创建
  16. Python 调用高德 API 实现地址转为经纬度
  17. python安装.egg文件_芳草地-小狍子的空间_百度空间
  18. Docker部署微服务应用笔记(三)
  19. 你了解屏幕后期特效怎么做吗?碉堡了!!!开箱即用
  20. 【CodeForces727E/CF727E】Games on a CD (字符串哈希)

热门文章

  1. 程序员如何规划自己的职业生涯
  2. 程序员职业规划:按照这规划,我年薪43万!
  3. 2018年总结和计划
  4. win7新建ios开发环境
  5. ROI区域图像叠加和 初级图像混合
  6. 不确定性原理的前世今生(转载)
  7. SitePoint播客#23:Jeff Veen的网络字体
  8. java 向量 内积_向量内积外积
  9. ARM920T(S3C2440)的中断系统
  10. Win10 添加传统照片查看器