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

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

大家好,又见面了,我是全栈君,今天给大家准备了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;
}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java script的基础理解以及常规的使用注意事项「建议收藏」

    java script的基础理解以及常规的使用注意事项「建议收藏」js:javascriptjs一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。在语句上还是有一些类似之处,但本质上还是很不一样的:js是基于对象的,边解释边执

  • pytest重试_pytest失败重跑

    pytest重试_pytest失败重跑安装:pip3installpytest-rerunfailures重新运行所有失败用例要重新运行所有测试失败的用例,请使用–reruns命令行选项,并指定要运行测试的最大次数:$py

  • Centos7 JDK8的安装配置

    Centos7 JDK8的安装配置Centos7 JDK8的安装配置

  • python求逆矩阵的方法,Python 如何求矩阵的逆「建议收藏」

    python求逆矩阵的方法,Python 如何求矩阵的逆「建议收藏」我就废话不多说了,大家还是直接看代码吧~importnumpyasnpkernel=np.array([1,1,1,2]).reshape((2,2))print(kernel)print(np.linalg.inv(kernel))注意,Singularmatrix奇异矩阵不可求逆补充:python+numpy中矩阵的逆和伪逆的区别定义:对于矩阵A,如果存在一个矩阵B,使得A…

  • hackbar功能简介

    hackbar功能简介SQL:提供三种数据库的sql查询语句,以及一些方便联合查询的语句XSS:提供xss攻击语句string.fromcharcode():将根据UNICODE值来输出xss语句htmlcharactor:将XSS语句转化为HTML字符实体(以&开头)alert(xss)statement:构建一条xss测…

  • MySQL_插入更新 ON DUPLICATE KEY UPDATE

    MySQL_插入更新 ON DUPLICATE KEY UPDATEMySQL_插入更新 ON DUPLICATE KEY UPDATE

发表回复

您的电子邮箱地址不会被公开。

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