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

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

大家好,又见面了,我是全栈君,今天给大家准备了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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 细粒度图像分析_图像分类研究现状

    细粒度图像分析_图像分类研究现状一、概述什么是细粒度图像分类细粒度图像分类问题是对大类下的子类进行识别。细粒度图像分析任务相对通用图像(General/GenericImages)任务的区别和难点在于其图像所属类别的粒度更为精细。以图1为例,通用图像分类其任务诉求是将“袋鼠”和“狗”这两个物体大类(蓝色框和红色框中物体)分开,可见无论从样貌、形态等方面,二者还是很容易被区分的;而细粒度图像的分类任务则要求对“狗”该类类别……

    2022年10月4日
    2
  • Linux内核驱动编写

    Linux内核驱动编写#前言开发过单片机的小伙伴可以看下我之前的一篇文章从单片机开发到linux内核驱动,以浅显易懂的方式带你敲开Linux驱动开发的大门。#正文用户空间的每个函数(用于使用设备或者文件的),在内核空间中都有一个对应的功能相似并且可将内核的信息向用户空间传递的函数。下表为几种设备驱动事件和它们在内核和用户空间对应的接口函数。事件(Events)用户函数(Userfunction…

    2022年7月14日
    14
  • 总结Redis一些使用

    总结Redis一些使用

    2021年7月12日
    72
  • SDN基本概念

    SDN基本概念

    2021年4月15日
    224
  • 什么叫侧面指纹识别_屏下指纹和侧面指纹触控有什么区别[通俗易懂]

    什么叫侧面指纹识别_屏下指纹和侧面指纹触控有什么区别[通俗易懂]指纹识别作为一种生物识别方案,在手机上的应用为用户日常使用带来了极大的便利,从解锁手机到应用加密再到支付等场景,原本需要输密码的繁琐场景如今按一下手指就行。随着手机的发展,指纹解锁也出现了不同的解决方案,比如OPPOK3所采用的目前主流的屏下指纹解锁,以及荣耀9X所采用侧面指纹解锁。那么在实际应用场景中,哪种指纹识别更实用呢?采用了屏幕指纹的OPPOK3与侧面指纹的荣耀9X都有着真全面屏的设计…

    2022年6月30日
    60
  • 安装虚拟机蓝屏解决方法_vmware10虚拟机安装教程

    安装虚拟机蓝屏解决方法_vmware10虚拟机安装教程安装虚拟机VMwareWorkstation下载安装虚拟机16pro官网下载https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html选择你需要的版本获取虚拟机密钥下面三个选一个就好ZF3R0-FHED2-M80TY-8QYGC-NPKYFYF390-0HF8P-M81RQ-2DXQE-M2UT6ZF71R-DMX85-08DQY-8YMNC-PPHV8linu下载地址下载

    2022年9月14日
    2

发表回复

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

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