第七届蓝桥杯决赛JavaA组第五题_广场舞
以某四块砖相接的点为原点,地板砖的两条边为两个正方向,一块砖的边长为横纵坐标的单位长度,则所有横纵坐标都为整数的点都是四块砖的交点(如果在广场内)。
舞者每次都会选一块完整的砖来跳舞,两个人不会选择同一块砖,如果一块砖在广场边上导致缺角或者边不完整,则没人会选这块砖。
(广场形状的例子参考【图1.png】)
输入的第一行包含一个整数n,表示广场是n边形的(因此有n个顶点)。
接下来n行,每行两个整数,依次表示n边形每个顶点的坐标(也就是说广场边缘拐弯的地方都在砖的顶角上。数据保证广场是一个简单多边形。
输出一个整数,表示最多有多少市民可以在广场跳舞。
5
3 3
6 4
4 1
1 -1
0 4
7
广场如图1.png所示,一共有7块完整的地板砖,因此最多能有7位市民一起跳舞。
对于30%的数据,n不超过100,横纵坐标的绝对值均不超过100。
对于50%的数据,n不超过1000,横纵坐标的绝对值均不超过1000。
对于100%的数据,n不超过1000,横纵坐标的绝对值均不超过100000000(一亿)。
资源约定:
峰值内存消耗 < 256M
CPU消耗 < 1000ms
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。
import java.util.Scanner;public class Main {public static int all_sum=0;public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int [][]points=new int[n][2];int max_x=Integer.MIN_VALUE,max_y=Integer.MIN_VALUE;int min_x=Integer.MAX_VALUE,min_y=Integer.MAX_VALUE;for(int i=0;i<n;i++){points[i][0]=scanner.nextInt();points[i][1]=scanner.nextInt();if(points[i][0]>max_x)max_x=points[i][0];if(points[i][0]<min_x)min_x=points[i][0];if(points[i][1]>max_y)max_y=points[i][1];if(points[i][1]<min_y)min_y=points[i][1];}for(int i=min_x;i<max_x;i++){for(int j=min_y;j<max_y;j++){if(judge_point_is_in(points, i, j)&&judge_point_is_in(points, i+1, j)&&judge_point_is_in(points, i, j+1)&&judge_point_is_in(points, i+1, j+1)){all_sum++;}}}System.out.println(all_sum);}public static boolean judge_point_is_in(int [][]points,int x,int y){boolean result=false;int i=0,j=points.length-1;for(;i<points.length;i++){if(Math.min(points[i][1], points[j][1])<y&&Math.max(points[i][1], points[j][1])>=y){double temp=(double)points[i][0]+(double)(((double)(y-points[i][1])/(double)(points[i][1]-points[j][1]))*((double)(points[i][0]-points[j][0])));if(temp<x){result=!result;}}j=i;}return result;}}
第七届蓝桥杯决赛JavaA组第五题_广场舞相关推荐
- 第七届蓝桥杯决赛JavaC组真题——详细答案对照(完整版)
目录 A.平方末尾 B.七星填数 C.打印数字 D.赢球票 E.路径之谜 F.碱基 A.平方末尾 能够表示为某个整数的平方的数字称为"平方数" 比如,25,64 虽然无法立即说出 ...
- java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)
第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...
- 2016蓝桥杯b组java试题及答案_2016年第七届蓝桥杯java B组省赛试题
2016年第七届蓝桥杯java B组省赛试题 1-3.结果填空 4-5.代码填空 6-7.结果填空 8-10.程序设计 1.煤球数目 (结果填空) 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, ...
- 2022年第十三届蓝桥杯Java B组第三题:字符统计
2022年第十三届蓝桥杯Java B组第三题:字符统计
- 第七届蓝桥杯 2016年省赛真题(Java 大学C组)
蓝桥杯 2016年省赛真题(Java 大学C组) 第一题:有奖猜谜 第二题:煤球数目 第三题:平方怪圈 第四题:骰子游戏 第五题:分小组 第六题:凑算式 第七题:搭积木 第八题:冰雹数 第九题:四平方 ...
- 蓝桥杯java生成树计数_第七届蓝桥杯决赛杂记
反正最近不想干什么正经事,回忆一下这些东西也好. 总的来说,这是我第二次去北京参加蓝桥杯决赛.去年获得了优秀奖,换句话来说就是重在参与.不过,今年成绩比去年好一点. (订的宾馆一如既往的温馨就不说了) ...
- 2016年第七届蓝桥杯决赛心得
这次比赛,成绩并不是太理想,虽然我是一个渣二本(河南农业大学,一听,种地的还学编程???),却金刚不可夺其志,毅然决然的报了A组C,学院不支持,最后倔着脾气自费报名了.省赛顺利通过,可是决赛只拿了一个 ...
- 第九届蓝桥杯 Java B组 第三题 复数幂 (详解)
蓝桥杯 加油 (ง •_•)ง 标题:复数幂 设i为虚数单位.对于任意正整数n,(2+3i)^n 的实部和虚部都是整数. 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂, ...
- java蓝桥杯dfs_第七届 蓝桥杯决赛 Java B组 打靶 解题报告(DFS,回溯,全排列)-Go语言中文社区...
题目: 打靶 小明参加X星球的打靶比赛. 比赛使用电子感应计分系统.其中有一局,小明得了96分. 这局小明共打了6发子弹,没有脱靶. 但望远镜看过去,只有3个弹孔. 显然,有些子弹准确地穿过了前边的弹 ...
最新文章
- python中的format函数_python中的format 函数是什么?如何使用?
- 新乡医学院2018计算机考试题,新乡医学院继教2018级局部解剖学复习自测下肢答案...
- 蒲公英如何正确泡水喝?可以和哪些食物一起搭配?
- 【PAT乙】1083 是否存在相等的差 (20分) map
- 易基因|典型案例:MeRIP-seq综合分析肺腺癌中的转录组m6A甲基化组
- [南阳OJ-No.33]蛇形填数|在n*n方陈里填入1,2,...,n*n,要求填成蛇形。
- Centos7安装SCL源
- Android 3D画廊采用Gallery实现无限循环、自动轮播
- Sourcemod Plugins 开源插件整理
- 极限存在准则 两个重要极限
- c++中Const,Const函数,Const变量,函数后面的Const
- android微信分享大图长图,裁剪微信分享缩略图片(长缩略图取中裁剪)
- 云效平台代码管理使用总结
- 令人炸毛儿的MySQL隐式转换 - 无形之刃,最为致命
- garch dcc用matlab,MATLAB DCC-GARCH
- SSID, BSSID, ESSID
- linux debian硬盘安装,硬盘安装Debian
- 如何通过手机号码核实真实姓名
- 网络游戏服务器构架设计(四):云风的轨迹
- Python 学习笔记 D1(基础)
热门文章
- Typescript函数和类的使用
- word图片自动编号,前面加章节号
- 一加连续点Android版本号,刷机之家:一加One开启USB调试模式设置技巧
- html 文字、图片水平无限滚动
- 穿越火线排位赛显示该服务器,CF新段位S7枪王排位调整 排位分数和地图
- 宅的第N天,GitHub云赏搞笑项目安排一下
- Android系统 T-Mobile G1手机全面解读
- 《数据库技术原理与应用教程(第2版)》——导读
- Arduino-uno-rev3基础知识
- win7硬件要求_可以玩使命召唤14,只要win7系统,怎么配电脑?-鑫谷光荣使命GT...