题解 P3717 【[AHOI2017初中组]cover】
本题的大致思路就是搜索。
将矩阵初始化成false。先把灯塔标记。在搜一遍灯塔能照到的点并标记。最后搜一遍找被灯塔标记的个数。
详细解释见题解。
题解走起。
#include<bits/stdc++.h>
using namespace std;
bool a[][]; //数组开的有点大哈,开到200就足够了。不过想要标记,就要是bool型的。
int main()
{
int n,m,r,sum=; //sum为后面用的计数器。
int j=,k=,i=;
int x,y; //i,j,k,x,y作为控制循环次数的东东。
cin>>n>>m>>r; //输入数据
for(i=;i<m;i++) //第一遍标记###看好括号###
{
cin>>j>>k; //对于每一个灯塔的坐标进行输入
a[j-][k-]=; //标记灯塔位置
/*这里要说一点,灯塔坐标给的和数组定义的不太一样。
数组的0是第一位。而灯塔的坐标是从1开始的,所以要将坐减一。
我第一次就是这么被坑的。*/
for(x=;x<n;x++) //第一次搜索开始
{ for(y=;y<n;y++)
{
if((x-j+)*(x-j+)+(y-k+)*(y-k+)<=r*r)//圆的方程:(x-a)²+(y-b)²=r²
{
a[x][y]=; //标记被搜到的。
}
}
} //说实话这个括号和上面“第二次搜索开始“后面的都不用加。
//为了清楚,我现在加上了。
} //好了,现在搜完第一次了
//开始统计。第二次搜索,并计数
for(i=;i<n;i++) //全图走一遍。
{ for(j=;j<n;j++)
{
if(a[i][j]==)
{
sum++;
}
}
}
cout<<sum; //输出
return ; //程序拜拜。
}
题解 P3717 【[AHOI2017初中组]cover】的更多相关文章
- P3717 [AHOI2017初中组]cover
题目背景 以下为不影响题意的简化版题目. 题目描述 一个n*n的网格图上有m个探测器,每个探测器有个探测半径r,问这n*n个点中有多少个点能被探测到. 输入输出格式 输入格式: 第一行3个整数n,m, ...
- P3719 [AHOI2017初中组]rexp
P3719 [AHOI2017初中组]rexp一开始想的是类似计算式子的值的东西,用栈.然后发现处理最大值很麻烦,因为处理的很像子过程,所以考虑递归来做.碰到'('就递归一次,碰到'|'就取最大值再递 ...
- P3719 [AHOI2017初中组]rexp——递归模拟
P3719 [AHOI2017初中组]rexp 没有什么算法的题做起来真不适应,这道题深深讽刺了我想用栈维护匹配括号个数的想法: 递归解决就行了: 时刻注意函数返回值是什么,边界条件是什么: #inc ...
- 洛谷P3719 [AHOI2017初中组]rexp
洛谷P3719 [AHOI2017初中组]rexp 题目背景 以下为不影响题意的简化版题目. 题目描述 给出一个由(,),|,a组成的序列,求化简后有多少个a. 化简规则: 1.形如aa...a|aa ...
- [AHOI2017初中组]guide 题解
题面 我们无论怎么走,都是要从此点沿最短路径走到终点,所以我们以n为原点跑两边dijkstra就可以了: 而抱怨数可以根据之前跑出来的东西新建一个图,然后跑最短路就好了: #include <b ...
- 洛谷 3106 [USACO14OPEN]GPS的决斗Dueling GPS's 3720 [AHOI2017初中组]guide
[题解] 这两道题是完全一样的. 思路其实很简单,对于两种边权分别建反向图跑dijkstra. 如果某条边在某一种边权的图中不是最短路上的边,就把它的cnt加上1.(这样每条边的cnt是0或1或2,代 ...
- luogu3720 [AHOI2017初中组]guide[最短路]
初中组..唉 题意有点误解,当前在x点走一步,gps产生代价条件是沿非x到n的最短路走. 直接倒着跑两遍$i\sim n$的两种最短路,然后枚举每条边走的时候是否可以在两种最短路上,不是就产生1个代价 ...
- [AHOI2017初中组]guide
题目描述 农场主John最近在网上买了一辆新车,在购买汽车配件时,John不小心点了两次"提交"按钮.导致汽车上安装了两套GPS系统,更糟糕的是John在使用GPS导航时,两套系统 ...
- P3718 [AHOI2017初中组]alter
贪心+二分答案 二分最终答案长度 主要问题在check上 ~~我代码写得巨丑,大家还是不要看我的代码了~~ ------------ 1:当mid大于1的时候,贪心策略是这样的: 当前连续的长度大于m ...
随机推荐
- Java中 单例(Singleton)的两种方式
第一种(饿汉式单例模式):在声明变量时实例化 public class Singleton { //静态初始化自动实例化 private static Singleton instance = new ...
- HttpURLConnection连接网页和获取数据的使用实例
HttpURLConnection是java.net 里面自带的一个类,非常好用.虽然现在很多人用阿帕奇的HttpClient,但HttpURLConnection也是个不错的选择. 其实使用方法非常 ...
- JAVA的ByteArrayOutputStream
为什么要使用ByteArrayOutputStream? 我的看法是,有时InputStream里面的内容很大,不能一次读完,需要一个中转站来储存里面的数据,而不是需要一次数据就又打开InputStr ...
- 02-26 ASP.NET加密解密的方法
MD5加密.解密的方法. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("要加 ...
- 你不知道的js异步、作用域、闭包
例题如下: for (var i = 0; i < 3; i++) { setTimeout(function() { console.log(i); }, 0) ...
- php SqlServer 中文汉字乱码
php SqlServer 中文汉字乱码,用iconv函数转换 查询显示的时候,从GB转换为UTF8 <?php echo iconv('GB2312','UTF-8',$row['Name'] ...
- Closest Common Ancestors
Write a program that takes as input a rooted tree and a list of pairs of vertices. For each pair (u, ...
- 【283】ArcMap 中河流字体设置
左斜字体的设置 1. 右键属性设置如下,将字体角度如下设置,并点击改变样式的按钮 2. 首先设置颜色如下,然后设置加粗斜体,最后勾选 CJK character orientation 的复选框 C ...
- ThinkPHP5如何引用新建的配置文件?
1.在Application文件夹下建立extra 文件夹,并把新建的配置文件(例如字典配置文件dictConfig.php等)放入此文件夹: 2.在代码中使用 Config::get("d ...
- Priceless Notes
[Priceless Notes] 1.人类对价格的绝对值没有准确的判断,但是价格或物体的相对值有较准确的判断. 2.物理强度与主观体验的关联成幂曲线.如60瓦的灯会让人觉得亮,但要让人觉得2倍亮的话 ...