Description

小雪和小可可被困在了一个无限大的迷宫中。

已经知道这个迷宫有 N 堵环状的墙,如果把整个迷宫看作是一个二维平面,那么每一堵墙都是平面上一个圆。任意两个圆不相交,不重合,也不会相切, 但有可能相互包含。小雪和小可可分别被困在了 2 个不同的位置,且保证他们的位置与这些圆不重合。

他们只有破坏墙面才能穿过去。

小雪希望知道,如果他们要相见,至少要破坏掉多少堵墙?他们可以在任何位置相见。

Input

第一行有一个整数 N,表示有多少堵墙,保证 0<=N<=8000。

之后 N 行,每一行有三个整数 x, y 和 r,表示有一堵环状的墙是以(x,y)为圆形, r为半径的。保证-100000000<=x,y,r<=100000000。

再下一行有一个整数 Q,表示有多少组询问,保证 1<=Q<=8000。

之后 Q 行,每一行有 4 个整数 a, b, c 和 d,给出了一组询问,表示小雪所在的位置为(a,b),小可可所在的位置为(c,d)。保证-100000000<=a,b,c,d<=100000000。

Output

输出 Q 行,对应 Q 次询问,每一行输出一个整数,表示最小需要破坏掉多少堵墙才能相见。

Sample Input

3
0 0 1
3 0 1
2 0 4
1
0 0 3 0

Sample Output

2

Hint

对于 20%的数据, 0<=N<=200。

对于 40%的数据, 0<=N<=1000。

对于 100%的数据, 0<=N<=8000, 0<=Q<=8000。

此外,还有额外的 20%的数据,满足 0<=N<=1000, 0<=Q<=1000。

所有数绝对值不超过 100000000。

大数据点时限3s。

题解

水题一道...枚举所有的圆看是否同在园内或同在圆外...

 //It is made by Awson on 2017.11.6
#include <map>
#include <set>
#include <cmath>
#include <ctime>
#include <queue>
#include <stack>
#include <cstdio>
#include <string>
#include <vector>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#define LL long long
#define Max(a, b) ((a) > (b) ? (a) : (b))
#define Min(a, b) ((a) < (b) ? (a) : (b))
#define sqr(x) ((x)*(x))
#define y1 yy
using namespace std;
const int N = ; int n, m;
struct circle {
LL x ,y, r;
}a[N+];
LL x1, x2, y1, y2; void work() {
scanf("%d", &n);
for (int i = ; i <= n; i++) scanf("%lld%lld%lld", &a[i].x, &a[i].y, &a[i].r);
scanf("%d", &m);
while (m--) {
int cnt = ; bool flag = ;
scanf("%lld%lld%lld%lld", &x1, &y1, &x2, &y2);
for (int i = ; i <= n; i++) {
flag = ;
if (sqr(x1-a[i].x)+sqr(y1-a[i].y) < sqr(a[i].r)) flag = !flag;
if (sqr(x2-a[i].x)+sqr(y2-a[i].y) < sqr(a[i].r)) flag = !flag;
cnt += flag;
}
printf("%d\n", cnt);
}
}
int main() {
work();
return ;
}

[AHOI 2016初中组]迷宫的更多相关文章

  1. [AHOI 2016初中组]自行车比赛

    Description 小雪非常关注自行车比赛,尤其是环滨湖自行车赛.一年一度的环滨湖自行车赛,需要选手们连续比赛数日,最终按照累计得分决出冠军.今年一共有 N 位参赛选手.每一天的比赛总会决出当日的 ...

  2. [AHOI2016初中组]迷宫

    题目描述 小雪和小可可被困在了一个无限大的迷宫中. 已经知道这个迷宫有 N 堵环状的墙,如果把整个迷宫看作是一个二维平面,那么每一堵墙都是平面上一个圆.任意两个圆不相交,不重合,也不会相切, 但有可能 ...

  3. 【学术篇】luogu2778 [AHOI2016初中组]迷宫(代码高能!)

    好久好久我都没有刷题了. 题目の传送门:https://www.luogu.org/problem/show?pid=2778 题目大意:(啥 题目讲得不够清楚?)平面内有n个以整点(就是坐标都是整数 ...

  4. Java迷宫游戏

    缘起: 去年(大三上学期)比较喜欢写小游戏,于是想试着写个迷宫试一下. 程序效果: 按下空格显示路径: 思考过程: 迷宫由一个一个格子组成,要求从入口到出口只有一条路径. 想了一下各种数据结构,似乎树 ...

  5. 用webgl打造自己的3D迷宫游戏

    用webgl打造自己的3D迷宫游戏 2016/09/19 · JavaScript · WebGL 原文出处: AlloyTeam    背景:前段时间自己居然迷路了,有感而发就想到写一个可以让人迷路 ...

  6. Java与算法之(12) - 老鼠再闯迷宫(广度优先算法)

    贪吃的小老鼠又回来了,这次有什么新的办法吃到奶酪呢? 规则不变,只能上下左右在格子内移动. 因为上次的深度优先算法让老鼠走了不少冤枉路,这次老鼠带来了帮手探路鼠.探路鼠的使用规则如下: 小老鼠按右.下 ...

  7. Be Better:遇见更好的自己-2016年记

    其实并不能找到好的词语来形容过去的一年,感觉就如此平淡的过了!没有了毕业的稚气,看事情淡了,少了一丝浮躁,多了一分认真.2016也许就是那句话-多读书,多看报,少吃零食多睡觉,而我更愿意说--Be B ...

  8. Connect() 2016 大会的主题 ---微软大法好

    文章首发于微信公众号"dotnet跨平台",欢迎关注,可以扫页面左面的二维码. 今年 Connect 大会的主题是 Big possibilities. Bold technolo ...

  9. “.Net 社区虚拟大会”(dotnetConf) 2016 Day 3 Keynote: Scott Hanselman

    美国时间 6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开,美国时间6.9 是第三天, Scott Hanselman 做Keynote.今天主题围绕的是.NET ...

随机推荐

  1. MySQL之连接查询

    主要是多表查询和连接查询

  2. 软件工程网络15团队作业1——团队组队&展示

    Deadline: 2018-3-25 10:00PM,以提交至班级博客时间为准. 申请开通团队博客,并将团队博客地址发表在本次随笔的评论中 团队展示 根据5-6人的组队要求,每个队伍创建团队博客并发 ...

  3. c语言第1次作业

    一.PTA实验作业 题目1:7-3 温度转换 本题要求编写程序,计算华氏温度150°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1 ...

  4. C语言作业--函数

    一.PTA实验作业 题目1: 400-499 中4出现的次数 1. 本题PTA提交列表 2. 设计思路 一.main函数 1.函数声明int fun(int x) 2.定义变量i,k,i表示输入的值, ...

  5. Vue.js学习

    <!DOCTYPE html> <html> <head> <title>xxx</title> </head> <bod ...

  6. 14-TypeScript简单工厂模式

    在TypeScript中,要调用功能,通常在调用方通过实例化被调用方对象来调用相关方法,但这种实现在调用方和被调用方形成了强耦合的关系. 另外如果被调用方有种实现,在调用方需要根据场景去实例化不同的类 ...

  7. EasyUI Datagrid 分页的情况下实现点击表头的小三角图标对数据库中所有数据重新排序

    说明一下: 当点击 datagrid 表头某一列的小三角图标时,easyui 本身是有排序的,但是在当我们对 datagrid 进行了分页的情况下,点击排序只是对当前页的数据进行排序,而需求需要我对数 ...

  8. iot:下一步要做的工作

    1.DeviceMessage抽象(定义&支持扩展)2.createDeviceMessage.analyseDeviceMessage(支持扩展)3.日志打印4.错误处理5.断线重连6.交互 ...

  9. Spring Security 入门(1-6-1)Spring Security - 配置文件解析和访问请求处理

    1.在pom.xml中添加maven坐标 <dependency> <groupId>org.springframework.security</groupId> ...

  10. 详解get请求和post请求参数中文乱码的解决办法

    首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解 ...