几何【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规范:函数声明必须带有标识符,函数表达式可以省略.对于我来说这些概念的东西真是不所适从.还是大叔的实例带 ...
随机推荐
- IOS与Unity交互
学习了宣雨松的两篇Unity和IOS交互的文章,自己动手做了下,遇到了些问题,在此记录 先说IOS发送消息给Unity:(文章地址:http://www.xuanyusong.com/archives ...
- 源码分析(一) HashMap 源码分析|JDK8
HashMap是一个普遍应用于各大JAVA平台的最最最常用的数据结构.<K,V>的存储形式使HashMap备受广大java程序员的喜欢.JDK8中HashMap发生了很大的变化,例如:之前 ...
- vb如何将数据库中某个字段显示在一个文本框
Dim mrc As ADODB.Recordset Private Sub cmdQuery_Click() Dim txtSQL As String Dim MsgText As String t ...
- hexo 添加标签
--- title: title #文章標題 date: 2016-06-01 23:47:44 #文章生成時間 categories: "Hexo教程" #文章分類目錄 可以省略 ...
- sqlalchemy presto 时间比较
大数据统计时,需要计算开仓订单减掉经纪商时间差,等于n 小时 或 星期几的订单. presto sql语句如下: select sum(profit) from t_table where open_ ...
- Codeforces Round #386 (Div. 2) 746F(set的运用)
题目大意 给出一个歌单(有n首歌),每个歌都有愉悦值和时间,你可以选择从第x首歌开始听(也就是选择连续的一段),并且你可以选择w首歌让它的时间减半,限制时间为k,求最大的愉悦值 首先我们需要贪心一下, ...
- [洛谷P3701]「伪模板」主席树
题目大意:太暴力了,就不写了,看这儿 题解:对于每个$byx$的人,从源点向人连边,容量为此人的寿命. 对于每个手气君的人,从人向汇点连边,容量为此人的寿命. 对于每个$byx$的人与手气君的人,如果 ...
- 【BestCoder #48】
与之前一样,秒刷A和B,然后就永远卡在了C B也因为少看一句话被Hunt掉了 说说C的做法吧(分块大法好 给定一个序列,每次询问区间l-r,求∑(ai^bi),其中bi是指ai在区间中的出现次数,ai ...
- hdu 6126 Give out candies
hdu 6126 Give out candies(最小割) 题意: 有\(n\)个小朋友,标号为\(1\)到\(n\),你要给每个小朋友至少\(1\)个且至多\(m\)个的糖果.小朋友们共提出\(k ...
- POJ3585:Accumulation Degree(换根树形dp)
Accumulation Degree Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 3425 Accepted: 85 ...