【题目描述】
小雪和小可可被困在了一个无限大的迷宫中。
已经知道这个迷宫有 N 堵环状的墙,如果把整个迷宫看作是一个二维平面,那么每一堵墙都是平面上一个圆。任意两个圆不相交,不重合,也不会相切, 但有可能相互包含。小雪和小可可分别被困在了 2 个不同的位置,且保证他们的位置与这些圆不重合。
他们只有破坏墙面才能穿过去。
小雪希望知道,如果他们要相见,至少要破坏掉多少堵墙?他们可以在任何位置相见。
【输入格式】
第一行有一个整数 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。
【输出格式】
输出 Q 行,对应 Q 次询问,每一行输出一个整数,表示最小需要破坏掉多少堵墙才能相见。
【样例输入】
3
0 0 1
0 0 2
4 0 1
2
0 0 4 0
0 0 0 4
【样例输出】
3
2
【分析】
对于两个点和一个圆,只有4种情况:
1.A点在圆内,B点在圆外:必须穿过一个圆
2.A点在圆内,B点在圆内:不用穿过圆
3.A点在圆外,B点在圆外:不用穿过圆
4.A点在圆外,B点在圆内:必须穿过一个圆
如何判断一个点是否在圆内呢?求出点到圆心的距离d,判断d是否小于圆的半径即可。

#include<cstdio>
typedef long long ll;
ll x[8005],y[8005],r[8005];
int n,q,a,b,c,d;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%lld%lld%lld",x+i,y+i,r+i);scanf("%d",&q);while(q--){scanf("%d%d%d%d",&a,&b,&c,&d);int ans=0;for(int i=1;i<=n;i++) ans+=((a-x[i])*(a-x[i])+(b-y[i])*(b-y[i])<=r[i]*r[i])+((c-x[i])*(c-x[i])+(d-y[i])*(d-y[i])<=r[i]*r[i])==1;printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/JRX2015U43/p/6533472.html

迷宫(AHOI2016初中组T3)相关推荐

  1. 洛谷 2777 [AHOI2016初中组]自行车比赛

    [题解] 为了让某个选手能够获得总分第一,就让他最后一天的得分是n,并且让别的选手的得分的最大值尽量小.于是我们先把目前积分排序,并且让他们最后一天的排名刚好与积分排名相反.即某个积分排名为X的人最后 ...

  2. [AHOI 2016初中组]迷宫

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

  3. [3.3训练赛]One-Dimensional(矩阵快速幂),Freda的迷宫(无向图强连通分量+并查集),一道防AK好题

    文章目录 T1:One-Dimensional title solution code T2:[NOIP模拟赛]Freda的迷宫 title solution code T3:[NOIP模拟赛]一道防 ...

  4. 不思议迷宫c语言基础,不思议迷宫新手攻略 新手常见50个问题分享汇总

    不思议迷宫新手应该怎么玩,经常遇到的问题有哪些呢.今天小编就给大家分享一下,新手常见50个问题分享汇总,有需要的小伙伴,和小编一起来看看吧,希望对大家有所帮助. 不思议迷宫新手攻略 新手常见50个问题 ...

  5. 实训项目 数字迷宫小游戏

    数字迷宫 第一部分 案例描述 案例目的 本案例为实现动态的刷新Dos界面,使用用户控制头像"消灭"窗口中出现的数字(无固定顺序)的游戏,来使学员加深对一维数组.二维数组.循环语句. ...

  6. [JS][dfs]题解 | #迷宫问题#

    题解 | #迷宫问题# 题目链接 迷宫问题 题目描述 定义一个二维数组 N*M ,如 5 × 5 数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 1, 1 ...

  7. hdu 1272 小希的迷宫

    Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 ...

  8. C语言通路寻找,用C语言解决迷宫问题设计与寻找通路问题.pdf

    用c语言解决迷宫设计与寻找通路问题 摘 要:本课程设计主要解决设计一个迷宫以及在给出一组入口和出口的情况下,求出一条通路的问题.在课程 设计中,程序设计语言采用VisualC++6.0,数据结构采用顺 ...

  9. java栈 迷宫_利用栈实现迷宫的求解

    问题描述:这时实验心理学中的一个典型的问题,心理学家吧一只老鼠从一个无顶的大盒子的入口处赶进迷宫.迷宫设置很多隔壁,对前进方向形成了许多障碍,心理学家在迷宫的唯一出口处放置了一块奶酪,吸引老鼠仔迷宫中 ...

最新文章

  1. 【组队学习】【32期】推荐系统-新闻推荐系统实践
  2. 2019届宝鸡理数质检Ⅰ解析版
  3. 小b和排序(51Nod-2484)
  4. Martin Fowler 微服务的原文翻译(转载)
  5. Eclipse 配置
  6. 火狐浏览器 附件组件 Xpath 安装
  7. matplotlib绘图(折线图,直方图,柱状图,饼图,散点图,三维,动图)
  8. 【毕业设计/课程设计】基于大数据个性化音乐推荐算法分析
  9. 大数据技术与应用解读及案例分析(PPT)
  10. eova1.4版本下拉框没有滚动条
  11. 使用Axure RP原型设计实践03,制作一个登录界面的原型
  12. 毕业设计的开题报告怎么写?
  13. HTML 语法练习---常见标签
  14. IEEE文献高级检索
  15. sx1278lora模块的常见问题解答
  16. 包含GODOT所有名称颜色的JSON
  17. vue使用elementui实现表格中上下移动功能
  18. c语言中 p2 amp n1表示什么意思,2005年9月全国计算机等级考试二级C语言笔试试题及答案mjj...
  19. .net core 和 WPF 开发升讯威在线客服系统:调用百度翻译接口实现实时自动翻译
  20. iOS_TUTK推送需要的相关资料

热门文章

  1. 至尊版影视双端app源码对接苹果CMS 带商城码支付
  2. boot spring 没有父子容器_理解 MyBatis 是如何在 Spring 容器中初始化的
  3. html设置粗体字,如何在HTML输出中设置粗体字段
  4. 解决jodconverter 2.2.1版本不支持docx、xlsx、pptx转换成PDF格式异常
  5. 无法在Web服务器上启动调试。与Web服务器通信时出现身份验证错误
  6. BizTalk 开发系列(四十) BizTalk WCF-SQL Adapter读取SQL Service Broker消息
  7. 【高清截图】UbuntuKylin 14.04 桌面版安装步骤
  8. Moodle:通过用户ID(user id) 获取用户权限
  9. 每日一题(C语言基础篇)1
  10. oracle清空回收站