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。

题解

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

 1 //It is made by Awson on 2017.11.6
 2 #include <map>
 3 #include <set>
 4 #include <cmath>
 5 #include <ctime>
 6 #include <queue>
 7 #include <stack>
 8 #include <cstdio>
 9 #include <string>
10 #include <vector>
11 #include <cstdlib>
12 #include <cstring>
13 #include <iostream>
14 #include <algorithm>
15 #define LL long long
16 #define Max(a, b) ((a) > (b) ? (a) : (b))
17 #define Min(a, b) ((a) < (b) ? (a) : (b))
18 #define sqr(x) ((x)*(x))
19 #define y1 yy
20 using namespace std;
21 const int N = 8000;
22
23 int n, m;
24 struct circle {
25     LL x ,y, r;
26 }a[N+5];
27 LL x1, x2, y1, y2;
28
29 void work() {
30     scanf("%d", &n);
31     for (int i = 1; i <= n; i++) scanf("%lld%lld%lld", &a[i].x, &a[i].y, &a[i].r);
32     scanf("%d", &m);
33     while (m--) {
34     int cnt = 0; bool flag = 0;
35     scanf("%lld%lld%lld%lld", &x1, &y1, &x2, &y2);
36     for (int i = 1; i <= n; i++) {
37         flag = 0;
38         if (sqr(x1-a[i].x)+sqr(y1-a[i].y) < sqr(a[i].r)) flag = !flag;
39         if (sqr(x2-a[i].x)+sqr(y2-a[i].y) < sqr(a[i].r)) flag = !flag;
40         cnt += flag;
41     }
42     printf("%d\n", cnt);
43     }
44 }
45 int main() {
46     work();
47     return 0;
48 }

转载于:https://www.cnblogs.com/NaVi-Awson/p/7857303.html

[AHOI 2016初中组]迷宫相关推荐

  1. 【AHOI 2016初中组】 自行车比赛 - 贪心

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

  2. 迷宫(AHOI2016初中组T3)

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

  3. 脑机接口创造“第六感”:激活特定神经元,大鼠训练出新感官,逃出水迷宫,像用视觉一样轻松...

    栗子 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 路痴有救了. 宾夕法尼亚大学的科学家们,借由脑机接口,给了大鼠一种神经刺激,帮它们找到对的方向. 原本,在水迷宫里游泳的大鼠,看不到藏 ...

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

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

  5. python123九宫格输入法_《啊哈C语言-2016最新修正版》.pdf

    <啊哈C语言-2016最新修正版>.pdf | 啊哈C语言| 后续内容还请关注 [ ] [ ] [[ 网站首页 ]] [ ] [ ] [[ 网站问答 ]] /qa [ ] [ ] [[ 新 ...

  6. android开源2016_出版商的选择:2016年顶级开源书籍

    android开源2016 图书出版商分享了2016年必读的与开源相关的图书发行的精选内容. 没有淀粉新闻 (由Anna Morrow提供) 汽车黑客手册 克雷格·史密斯(Craig Smith) 3 ...

  7. C语言---数字迷宫

    /*************************************** title: C语言–数字迷宫 Date: 2016/7/10 Description: 1. 系统主要地图为固定模式 ...

  8. 数据结构课程主页-2016级

    新学期,再度起程! 翻转的数据结构课程再度迎来新的一批同学. 前两年,资源建设基本完备,课堂方案逐渐完善,同学们对新型的学习方式设计给予了肯定(参见2014级问卷调查和2015级学生总结). 针对20 ...

  9. 强化学习之迷宫Q-Learning实践笔记——入门篇

    众所周知,在2016年,当AlphaGO战胜了世界围棋冠军李世石之后,整个业界都为之振奋,越来越多的学者意识到强化学习在人工智能领域将是更趋近人类智能的研究方向,非常令人激动.强化学习是一个非常有趣且 ...

最新文章

  1. Vue与jQuery的区别:数据绑定
  2. 给一个元素插入一段HTML
  3. [深度学习]自然语言处理 --- ELMo
  4. [Leetcode][第24题][JAVA][两两交还的链表中的节点][递归][三指针]
  5. python输出程序运行时间_叨叨 Python 性能优化工具
  6. python prt_Python中的self
  7. [闲谈]程序猿一天的日程安排
  8. Kali Linux破解WiFi教程
  9. C#和java和android中的NetWorkAdapter,httpRequest,WebView,json,xml
  10. 弹性地基梁板的计算理论_龚晓南院士:30年创新实践,为地基处理开出“良方”...
  11. 【Proteus仿真】51单片机驱动蜂鸣器播放《天空之城》
  12. 清华大学深圳研究生院自动化系九推,2018/9
  13. 功能强大的NAS云存储
  14. linux查看iozone安装目录,IOZone的基本使用
  15. leapftp中文版,leapftp中文版的5大主要功能
  16. python识别虚假新闻的分类器_利用贝叶斯分类器检测虚假新闻
  17. 第4章内容-启动豆果美食并抓包
  18. 操作系统和内核有什么区别?
  19. vue如何跳转支付宝付款页面
  20. java 模板类 mock_mockj: 生成mock数据的利器,按照规则模板生成 mock 数据,mockjs的java实现。同时内置随机 random 一个对象的功能...

热门文章

  1. TCP/IP详解--五层协议的作用以及对应的设备
  2. html自定义颜色函数,javascript设置元素背景颜色
  3. 008_logback配置语法
  4. activexobject对象不能创建_【设计模式】建造者模式:你创建对象的方式有它丝滑吗?...
  5. Linux jupyter安装位置,Linux下安装jupyter
  6. 目前在线教育发展情况介绍
  7. Nginx调度器(反向代理),TCP/UDP调度器
  8. Java 面向对象四大特性
  9. 上传图片自动加水印html,帝国cms用户前台投稿上传图片自动加水印的实现方法...
  10. keycode值对照表_JavaScript中键盘字母与keyCode值(键值)的对照表