河南六大学生程序设计竞赛–外国人饲喂站[通俗易懂]

河南六大学生程序设计竞赛–外国人饲喂站

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

外国人饲喂站


Time Limit: 2 Seconds    Memory Limit: 512 MB

Description

外星人指的是地球以外的智慧生命。

外星人长的是不是与地球上的人一样并不重要。但起码应该符合我们眼下对生命基本形式的认识。比方,我们所知的不论什么生命都离不开液态水,而且都是基于化学元素碳(C)的有机分子组合成的复杂有机体。

42岁的天文学家Dr. Kong已经执著地观測ZDM-777星球十多年了,这个被称为“战神”的红色星球让他如此着迷。在过去的十多年中。他常常有一些令人激动的发现。

ZDM-777星球表面有着明显的明暗变化,对这些明暗区域,Dr. Kong已经仔细地研究了非常多年,而且绘制出了较为详尽的地图。

他坚信那些暗区是陆地,而亮区则是湖泊和海洋。他一直坚信有水的地方,一定有生命的痕迹。Dr. Kong有一种强烈的预感。认为今天将会成为他一生中最值得纪念的日子。

这天晚上的观測条件实在是空前的好。ZDM-777星球也十分明亮,在射电望远镜中呈现出一个清晰的暗红色圆斑。还是那些熟悉的明暗区域和极冠,只是,等等,Dr. Kong似乎又扑捉到曾看到过的东西,那是什么,若隐若现的。

他尽可能地睁大了眼睛,细致地辨认。哦,没错,在一条直线上,又出现了若干个极光点连接着星球亮区,几分钟后,极光点消失。
Dr. Kong大胆猜想。ZDM-777星球上的湖泊和海洋里一定有生物。那些极光点就是ZDM-777星球上的供给站,定期给这些生物提出维持生命的供给。
最好还是设,那条直线为X轴,极光点就处在X轴上。N个亮区P1。P2。…Pn就分布在若干个极光点周围。

河南六大学生程序设计竞赛--外国人饲喂站[通俗易懂]

接着,Dr. Kong 又有惊人的发现,全部的亮区Pi都处在某个半径为R的极光点圆内。去掉一个极光点就会有某些亮区Pj不处在覆盖区域内。

Dr. Kong想知道,至少须要多少个极光点才干覆盖全部的湖泊和海洋。

2≤K≤5 1≤R≤50 1≤N≤100 -100≤PXi PYi≤100 | PYi | ≤ R 
R, PXi PYi都是整数。

数据之间有一个空格。

Input

>第一行: K 表示有多少组測试数据。 
接下来对每组測试数据:
第1行: N R
第2~N+1行: PXi PYi (i=1,…..,N)

Output

对于每组測试数据,输出一行: 最少须要的极光点数。

Sample Input

2
3 2
1 2
-3 1
2 1
1 5
5 5

Sample Output

2
1

Source

河南省第六届大学生程序设计竞赛

貌似似曾相识的感觉!

简单贪心!

就依照每一个点所相应的最左极点的位置按从小到大排序,然后扫一遍就可以。找对贪心策略!


AC代码:

#include <cstdio>
#include <iostream> 
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <algorithm>
#include <string>
using namespace std;

struct fun
{
	double zuo, you;
}a[110];

bool cmp(fun a, fun b)
{
	return a.zuo<b.zuo;
}

int main()
{
	int K, N;
	double R;
	scanf("%d", &K);
	while(K--)
	{
		double x, y;
		scanf("%d %lf", &N, &R);
		for(int i=0; i<N; i++)
		{
			scanf("%lf %lf", &x, &y);
			a[i].zuo = x - sqrt(R*R - y*y);
			a[i].you = x + sqrt(R*R - y*y);
		}
		sort(a, a+N, cmp);
		int ans = 1;
		double k = a[0].you;
		for(int i=1; i<N; i++)
		{
			if(a[i].you <= k) k = a[i].you;
			else if(a[i].zuo > k)
			{
				ans++;
				k = a[i].you;
			}
		}
		printf("%d\n", ans);
	}
	return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116737.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • r语言求平均值_r语言计算中位数

    r语言求平均值_r语言计算中位数R中的统计分析通过使用许多内置函数来执行的,这些函数大部分是R基础包的一部分,并且它们将R向量与参数一起作为输入,并在执行计算后给出结果。先来看如何求平均值。平均值是通过取数值的总和并除以数据序列中的值的数量来计算,函数mean()用于在R中计算平均值,语法如下:mean(x,trim=0,na.rm=FALSE,…)参数描述如下:x-是输入向量。 t…

    2025年11月21日
    6
  • OllyDBG 激活成功教程入门教程「建议收藏」

    OllyDBG 激活成功教程入门教程「建议收藏」原链接:https://www.cnblogs.com/ECJTUACM-873284962/p/7653285.html一、OllyDBG的安装与配置OllyDBG版的发布版本是个ZIP压缩包,只要解压到一个目录下,运行OllyDBG.exe就可以了。汉化版的发布版本是个RAR压缩包,同样只需解压到一个目录下运行OllyDBG.exe即可:OllyDBG中各个窗口的功能如上图。简单解释一下各个窗口的功能,更详细的内容可以参考TT小组翻译的中文帮助:反汇编窗口:显示被调试

    2026年2月6日
    3
  • 深入理解java虚拟机第四版PDF下载_深入理解java虚拟机 pdf

    深入理解java虚拟机第四版PDF下载_深入理解java虚拟机 pdfJVM架构图:类装载器:沙箱安全机制:ExecutionEngine执行引擎负责解释命令,提交操作系统执行。NativeMethodStack本地方法栈:运行本地方法的栈ProgramCounterRegister即PC寄存器(程序计数器)程序计数器底层是bytecodepointer(bcp)即字节码指针PC寄存器是用来存储指向下一条指令的地址,也即将要执行的指令代码。由执行引擎读取下一条指令。1.它是一块很小的内存空间,几乎可以忽略不计。也是运行速度最快的存储区域…

    2022年10月9日
    3
  • spring ORM是什么,spring的七大模块有哪些「建议收藏」

    spring ORM是什么,spring的七大模块有哪些「建议收藏」spring ORM是什么,spring的七大模块有哪些

    2022年4月24日
    54
  • 如何优雅地送妹子礼物给她_怎样送女生礼物让女生接受

    如何优雅地送妹子礼物给她_怎样送女生礼物让女生接受一颗林萌 ,剁手已剁成哆啦A梦。刘巍然-学酥 等 15240 人赞同—————————————————————————————–有转载需要请私信,不接受未通知作者本人直接转载的行为,按原创法规直接举报。因为工作原因经常接触买买买,加上生活里经常剁手.

    2022年10月4日
    3
  • 第四章 软件项目进度管理

    第四章 软件项目进度管理本章内容提要第一节软件项目进度管理概述l进l进度是对执行的活动和里程碑所制定的工作计划日期表。l项目进度管理也被称作项目时间管理、工期管理,是指在项目实施过程中,对各阶段的工作进展程度和项目最终完成的期限所进行的管理,是为了确保项目按期完成所需要的管理过程。l项目进度管理是保证项目如期完成及合理安排资源供应,节约工程成本的重要措施之一。度是对执行的活动和里程碑所制定的工作计划日期表。l项目进度管…

    2022年5月20日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号