几何【P2313】 [HNOI2005]汤姆的游戏
顾z
你没有发现两个字里的blog都不一样嘛 qwq
题目描述--->p2313 [HNOI]汤姆的游戏
分析
说不上是分析.
数据范围给出来,这题明显暴力啊emmm。
个人认为的坑点.
这题不要判精度,判精度会挂掉.
输入点之后,直接暴力枚举图形去判断其是否在这个图形中。
本来以为长方形给的都是 左上角和右下角.
结果这题给的是右上角和左下角.
搞得我取了半天\(max,min\).
(代码自己看着都有点恶心.
(还是我没有看清题的说 emmm.
注意计算点到圆心的距离的公式是
\(\sqrt{(x_i-x_j) \times (x_i-x_j) +(y_i-y_j)\times (y_i-y_j))}\)
------------------代码-------------------
#include<cstdio>
#include<iostream>
#include<cmath>
#define R register
using namespace std;
int n,m;
struct cod
{
char shape;
double a,b,c,d,r;
}s[508];
int main()
{
scanf("%d%d",&n,&m);
for(R int i=1;i<=n;i++)
{
cin>>s[i].shape;
switch(s[i].shape)
{
case 'r':
{
scanf("%lf%lf%lf%lf",&s[i].a,&s[i].b,&s[i].c,&s[i].d);
break;
}
case 'c':
{
scanf("%lf%lf%lf",&s[i].a,&s[i].b,&s[i].r);
break;
}
}
}
for(R int i=1;i<=m;i++)
{
R double x,y;R int cnt=0;
scanf("%lf%lf",&x,&y);
for(R int j=1;j<=n;j++)
{
if(s[j].shape=='c')
{
double dis=sqrt((s[j].a-x)*(s[j].a-x)+(s[j].b-y)*(s[j].b-y));
if(dis<s[j].r)
cnt++;
}
else
{
if(x==s[j].a or x==s[j].c)continue;
if(y==s[j].b or y==s[j].d)continue;
if(x>min(s[j].a,s[j].c) and x<max(s[j].c,s[j].a)and y<max(s[j].b,s[j].d) and y>min(s[j].d,s[j].b))
cnt++;
}
}
printf("%d\n",cnt);
}
}
几何【P2313】 [HNOI2005]汤姆的游戏的更多相关文章
- 洛谷 P2313 [HNOI2005]汤姆的游戏 题解
P2313 [HNOI2005]汤姆的游戏 题目描述 汤姆是个好动的孩子,今天他突然对圆规和直尺来了兴趣.于是他开始在一张很大很大的白纸上画很多很多的矩形和圆.画着画着,一不小心将他的爆米花弄撒了,于 ...
- P2313 [HNOI2005]汤姆的游戏
题目描述 汤姆是个好动的孩子,今天他突然对圆规和直尺来了兴趣.于是他开始在一张很大很大的白纸上画很多很多的矩形和圆.画着画着,一不小心将他的爆米花弄撒了,于是白纸上就多了好多好多的爆米花.汤姆发现爆米 ...
- BZOJ 1199: [HNOI2005]汤姆的游戏 计算几何暴力
1199: [HNOI2005]汤姆的游戏 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...
- 1199: [HNOI2005]汤姆的游戏 - BZOJ
Description 汤姆是个好动的孩子,今天他突然对圆规和直尺来了兴趣.于是他开始在一张很大很大的白纸上画很多很多的矩形和圆.画着画着,一不小心将他的爆米花弄撒了,于是白纸上就多了好多好多的爆米花 ...
- bzoj千题计划176:bzoj1199: [HNOI2005]汤姆的游戏
http://www.lydsy.com/JudgeOnline/problem.php?id=1199 求出圆x的范围 把要判断的点按x从小到大排序 枚举图形 二分出x满足这个图形的一段区间 枚举这 ...
- [HNOI2005]汤姆的游戏
嘟嘟嘟 直接O(n ^ 2)暴力判断就行了. 对于圆,判断该点和圆心的距离是否小于半径. 然而为啥我这么写编译不过: scanf("%lf%lf%lf%lf", &a[++ ...
- 汤姆大叔 javascript 系列 第20课 最后的5到javascript题目
博客链接:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 原题: 大叔注:这些题目也是来自出这5个题目的人,当然如果你能答对4 ...
- 你必须知道ASP.NET知识------关于动态注册httpmodule(对不起汤姆大叔)
一.关于动态注册的问题 很多人看过汤姆大叔的MVC之前的那点事儿系列(6):动态注册HttpModule ,其实汤姆大叔没有发现httpmodule动态注册的根本机制在哪里. 亦即:怎么动态注册?为什 ...
- 我读汤姆大叔的深入理解js(二)
继续汤姆大叔的js之旅. 揭秘命名函数表达式 函数表达式和函数声明 汤姆大叔在博客中引用ECMA规范:函数声明必须带有标识符,函数表达式可以省略.对于我来说这些概念的东西真是不所适从.还是大叔的实例带 ...
随机推荐
- Linux认知之旅【06 图形界面上的各种折腾】!
玩linux免不了折腾,不折腾对不起linux 初次接触, 总会接触到绚丽的linux桌面! 但是随之而来的桌面优化,字体安装,操作习惯都需要一一适应
- CandyCrush 糖果传奇
1.unity自带触发事件 unity的每一个Collider对象都有类似OnMouseDown.OnMouseOver等事件.此事件是存在于MonoBehaviour脚本里的,而MonoBehavi ...
- 孤荷凌寒自学python第三天 初识序列
孤荷凌寒自学python第三天 初识序列 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python的序列非常让我着迷,之前学习的其它编程语言中没有非常特别关注过序列这种类型的对象,而pyt ...
- windows版本cloudbase-init流程说明
源码流程说明 - 程序首先判断操作系统类型,加载对应的模块 - 加载服务,服务共分为四种: 'cloudbaseinit.metadata.services.httpservice.HttpServi ...
- CI框架入门
本人最近在学习CI框架,网上找到一些个人觉得入门比较好的资料,记录一下: 兄弟连的CI框架入门系类: [军哥谈CI框架]之入门教程之第一讲:codeigniter的介绍和安装配置:http://bbs ...
- rtmp jwplayer简单应用
在nginx下使用,放到nginx/html文件夹内,之后访问 首先是播放vod视频 <!DOCTYPE html> <html xmlns="http://www.w3. ...
- MSHflexgrid控件删除选中行
相应的代码: Private Sub some_Click() '定义变量 Dim txtSQL As String Dim MsgText As String Dim Online_mrc As A ...
- web自动化测试:watir+minitest(四)
脚本连跑: rake是ruby中的一个构建工具,和make很像.允许用ruby来写rakefile. 我们使用rake以任务的方式来运行我们的脚本集. 新建Rakefile文件,写入如下内容: req ...
- BZOJ3594 [Scoi2014]方伯伯的玉米田 【树状数组优化dp】
题目链接 BZOJ3594 题解 dp难题总是想不出来,, 首先要观察到一个很重要的性质,就是每次拔高一定是拔一段后缀 因为如果单独只拔前段的话,后面与前面的高度差距大了,不优反劣 然后很显然可以设出 ...
- spring in action 学习笔记六:bean在不同情况下的默认id号或者将名字
bean如果不知名id是什么它一般都有一个id或者讲名字. 第一种情况:组件扫描的情况:默认的id号或者bean的name是类名的首字母小写. 代码如下: package com.qls.beanli ...