CODEVS 2994 超级弹珠
题目描述 Description
奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩蛋游戏设备。Bessie把她们玩游戏的草坪划成了N*N单位的矩阵,同时列出了她的K个对手在草地上的位置。然后她拿着这张表来找你,希望你能帮她计算一个数据。
在这个游戏中,奶牛可以用一把弹珠枪向8个方向(正东、正南、正西、正北、正东北、正东南、正西北、正西南)中的任意一个方向发射子弹。Bessie希望你告诉她,如果她想站在一个可以射到所有对手的格子上,那么她有多少种选择。当然,Bessie可以跟某一个对手站在同一个格子上,在这种情况下,Bessie也能射到这个对手。
第一行:两个用空格隔开的整数:N K
第二至第K+1行:第i+1行有两个以空格隔开的整数R-i和C-i,描述第i头奶牛的位置,表示她站在第R-i行,C-i列。
仅一行:输出一个整数,表示Bessie可以选择的格子数量。
4 3
2 1
2 3
4 1
5
数据范围
1<=N<=500
1<=K<=100 000
样例说明
Bessie可以选择站在一下格子中的任意一个:(2,1),(2,3),(3,2),(4,4),(4,3).下右图中,Bessie与其他奶牛共同占有的格子被标记为“*”
. . . . . . . .
B . B . =======> * . * .
. B . . =======> . B . .
B . B . * . B .
提示:
使用穷举即可。
解题思路
题目告诉我穷举即可,然后我就果断穷举了,这个题涉及到一些关于斜率的东西,其实就是那个斜率公式
(y2-y1)/(x2-x1)=±1,化简一下其实就是x+y那条斜率,x-y那条斜率上的点加一,横轴竖轴加一
枚举节点,然后把经过该点的横轴竖轴斜边都加起来,减去本身乘3,防止重复计算
program SuperBall;
var dt:array[..,..] of longint;
n,k,i,a,b:Longint;
z1,z2,x,y:array[-..] of longint;
begin
read(n,k);
for i:= to k do
begin
read(a,b);
inc(x[a]);
inc(y[b]);
inc(z1[a+b]);
inc(z2[a-b]);
end;
for i:= to do
for j:= to do
begin
if x[i]+y[j]+z1[i+j]+z[i-j]-*dt[i,j]=k then inc(ans);
end;
writeln(ans);
end.
CODEVS 2994 超级弹珠的更多相关文章
- BZOJ1709: [Usaco2007 Oct]Super Paintball超级弹珠
1709: [Usaco2007 Oct]Super Paintball超级弹珠 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 324 Solved: ...
- 1709: [Usaco2007 Oct]Super Paintball超级弹珠
1709: [Usaco2007 Oct]Super Paintball超级弹珠 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 339 Solved: ...
- BZOJ1709超级弹珠
1709: [Usaco2007 Oct]Super Paintball超级弹珠 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 352 Solved: ...
- bzoj1709 [Usaco2007 Oct]Super Paintball超级弹珠 暴力
[Usaco2007 Oct]Super Paintball超级弹珠 Description 奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩弹游戏设备(类乎于真人版CS). Bess ...
- BZOJ 1709: [Usaco2007 Oct]Super Paintball超级弹珠
Description 奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩弹游戏设备(类乎于真人版CS). Bessie把她们玩游戏草坪划成了N * N(1 <= N<= 1 ...
- [Usaco2007 Oct] Super Paintball超级弹珠
Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 489 Solved: 384[Submit][Status][Discuss] Description ...
- 【BZOJ】1709: [Usaco2007 Oct]Super Paintball超级弹珠
[算法]模拟 [题解]O(n^2)预处理横线(y),纵线(x),主对角线(y-x+n),副对角线(x+y). 然后n^2枚举每个点.
- 【枚举】bzoj1709 [Usaco2007 Oct]Super Paintball超级弹珠
由于子弹的轨迹是可逆的,因此我们可以枚举所有敌人的位置,然后统计他们能打到的位置,这些位置也就是能打到他们的位置咯. O(n*k). #include<cstdio> using name ...
- bzoj 1709: [Usaco2007 Oct]Super Paintball超级弹珠【枚举】
k是1e5范围的,吗? 注意到n只有100,这意味着k去重之后之后n^2,也就是1e4! 然后就可以愉快的n^4枚举了,枚举每个格子,再枚举每个敌人,如果当前格子射不到敌人则退出,否则满足所有敌人则a ...
随机推荐
- qt-vs-addin-版本支持
qt-vs-addin-1.2.0-opensource.exe VS200X qt-vs-addin-1.2.1-opensource.exe VS200X qt-v ...
- Asp.Net 5使用第三方容器
这几天在学习Asp.Net 5,现在文档以及博客之类的资料实在太少了,不看源码几乎举步维艰,好在全都是开源的,看看微软的代码也获益良多. 看到DependencyInjection的代码里除了默认的容 ...
- java.lang.NoSuchFieldError: RAW_XML_FILE_HEADER,调用XWPFTemplate动态合并生成一个新的docx文档时报错
在使用 org.apache.poi 对office文件 根据表单内容和已上次的附件 动态合并成一个新的文档时,本地调试完全ok 但是发布倒Linux环境上就老是报这个错误java.lang.NoS ...
- nodejs设置NODE_ENV环境变量
看下app.js文件中的一部分代码,如下: //开发环境错误处理 // will print stacktrace if (app.get('env') === 'development') { ap ...
- vagrant yii2 Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002]
开发环境:vangrant + LAMP 安装了yii2 advanced版本之后,通过url访问fornted 报数据库user表不存在,看了安装yii2 advanced的教程,里面说需要需要运行 ...
- JDBC的几个步骤
JDBC:JAVA访问数据库的解决方案.几个步骤:1.加载驱动类; 2.与数据库建立连接: 3.执行SQL语句 4.处理结果集 5.关闭连接1. 第一步:加载驱动类: 需要注意:不 ...
- JAXB - Validate Document before It is Unmarshalled
Validation A considerable part of the XML Schema language deals with facets, enabling the programmer ...
- .net MVC中JsonResult 返回类
/// <summary> /// 返回消息类 /// </summary> public class ReturnMessage { private IDictionary& ...
- solr-tomcat 中文乱码
<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" conn ...
- RDLC打印或导出Word的 分页设置 页边距和页面大小
RDLC 导出Word的时候发现,Word的尺寸和页边距有问题,查了MSDN看到这样一段话 Page Sizing When the report is rendered, the Word page ...