简单枚举(ZJM要抵御宇宙射线)
解题思路:
看题目描述挺复杂的,有同学还会想到最小圆覆盖、dfs之类的方法,但实际上只是个简单的枚举问题。最多1000个点,n^2的复杂度的话也才1e6,直接枚举完全可以接受。pair类型数组mypoint存储每个不同编号的点的坐标。dis存储对于每个点而言到其他点的最远距离的平方。然后一次枚举计算dis数组的值,最后再找到dis最小且x最小或者x相同时y最小的点的坐标。注意选择的点一定在给定的整数点中,且输出的是半径平方,所以直接存储并比较距离的平方。因此最后输出的全是整数,可以直接多输出".00"即可。注意某些情况int可能会越界,所以使用long long存储距离的平方,输出时格式控制符为%lld。
参考代码:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <queue>
#include <vector>
#include <utility>
using namespace std;
typedef long long ll;
pair<int, int> mypoint[1000];
ll dis[1000];
int n;
ll get_dis_square(int x1,int y1,int x2,int y2){ll ans=((ll)x1-(ll)x2)*((ll)x1-(ll)x2)+((ll)y1-(ll)y2)*((ll)y1-(ll)y2);return ans;
}
int main(){cin>>n;for(int i=0;i<n;i++){int x,y;cin>>x>>y;mypoint[i]=pair<int, int>(x,y);}for (int i=0; i<n; i++) {for (int j=0; j<n; j++) {ll now=get_dis_square(mypoint[i].first, mypoint[i].second, mypoint[j].first, mypoint[j].second);if(now>dis[i])dis[i]=now;}}int p=0;ll min_dis=dis[0];for (int i=1; i<n; i++) {if(dis[i]<min_dis){p=i;min_dis=dis[i];}}int px=mypoint[p].first;int py=mypoint[p].second;for (int i=0; i<n; i++) {if(dis[i]==min_dis){if(mypoint[i].first<px){px=mypoint[i].first;py=mypoint[i].second;}else if(mypoint[i].first==px){if(mypoint[i].second<py){px=mypoint[i].first;py=mypoint[i].second;}}}}printf("%d.00 %d.00\n",px,py);printf("%lld.00\n",min_dis);return 0;
}
简单枚举(ZJM要抵御宇宙射线)相关推荐
- 第十六周模测——ZJM要抵御宇宙射线
ZJM要抵御宇宙射线 一.题目 据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上.假设宇宙射线的发射点位于 ...
- week16 CSP-M4-B ZJM要抵御宇宙射线
ZJM要抵御宇宙射线 据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上.假设宇宙射线的发射点位于一个平面, ...
- ZJM要抵御宇宙射线
题目描述 据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙 于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上.假设宇宙射线的发射点位于一个 平面,ZJM已 ...
- CSP M4 B ZJM要抵御宇宙射线
题意: 题目描述 据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙 于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上.假设宇宙射线的发射点位于一个 平面, ...
- B - ZJM要抵御宇宙射线
题意介绍 据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上. 假设宇宙射线的发射点位于一个平面,ZJM已经 ...
- week16 实验B ZJM要抵御宇宙射线
题目: 据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙 于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上.假设宇宙射线的发射点位于一个 平面,ZJM已经 ...
- 算法竞赛入门经典读书笔记(二)7.1简单枚举
7.1.1简单枚举 除法 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2<=n<=79. 样例输入: 62 样例输出 ...
- 简单枚举 / 枚举排列
本文参考<算法竞赛入门经典>第七章<暴力枚举法>,提出的是暴力"列举"出所有可能性并一一试验的方法. 目录 1 简单枚举 2 枚举排列 2.1 生成1~n的 ...
- 简单枚举类型——植物与颜色
简单枚举类型--植物与颜色 Description 请定义具有red, orange, yellow, green, blue, violet六种颜色的枚举类型color,根据输入的颜色名称,输出以下 ...
最新文章
- Linux下ibus-sunpinyin的安装及翻页快捷键设置!
- 阿里公开核心技术:如何摘下4项世界冠军,推理性能比第二名快5倍
- 阿里开源Canal--①简介
- osgi cxf_所有OSGi套件的通用CXF请求拦截器
- DevEco Studio 使用和问题总结
- Mybatis插件原理
- 如何提升软件测试思维?
- 如何调整c盘分区大小,怎样把c盘空间调整小些
- php给发qq消息,PHP 模拟QQ登录及发送消息实现方法
- 【Matlab】变分法求控制器(无约束)
- 程序员转行有哪些方向?人到中年,不能当一辈子普通程序员吧!
- SVG开发包, 20 个有用的 SVG 工具,提供更好的图像处理
- android 备份游戏数据,用于Android游戏存档备份和存档还原的教程(图形中的详细信息)...
- css firefox火狐浏览器下的兼容性问题
- vue3的自定义指令directives
- python抓取微信文件_fiddle python抓取微信公众号文章
- IntelliJ IDEA V2022.1版本亮点——改进框架与技术
- 解决无线网卡打不开的问题(by quqi99)
- 一篇就可以搞定——ADB连接多台设备问题
- 畴昔之羊,子为政,今日之御,我为政
热门文章
- CentOS6.5安装readline时报错:/usr/bin/ld : cannot find -lncurses
- UVA11134 Fabled Rooks
- cadence 通孔焊盘_allegro软件通孔类焊盘制作方法及步骤
- 12_微信小程序之微信视频号滚动自动播放视频效果实现
- 下载谷歌浏览器旧版本的方法
- 微信支付服务商,消费者投诉处理系统
- 完整的L0、L1、L2详解
- 自定义springboot-starter,感受框架的魅力和原理
- 多元相关分析与多元回归分析
- 已拿 offer!一个非 985/211 的普通二本学生从毕业季到职场的面经分享!