题目描述 Description

奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩蛋游戏设备。Bessie把她们玩游戏的草坪划成了N*N单位的矩阵,同时列出了她的K个对手在草地上的位置。然后她拿着这张表来找你,希望你能帮她计算一个数据。

在这个游戏中,奶牛可以用一把弹珠枪向8个方向(正东、正南、正西、正北、正东北、正东南、正西北、正西南)中的任意一个方向发射子弹。Bessie希望你告诉她,如果她想站在一个可以射到所有对手的格子上,那么她有多少种选择。当然,Bessie可以跟某一个对手站在同一个格子上,在这种情况下,Bessie也能射到这个对手。

输入描述 Input Description

第一行:两个用空格隔开的整数:N K

第二至第K+1行:第i+1行有两个以空格隔开的整数R-i和C-i,描述第i头奶牛的位置,表示她站在第R-i行,C-i列。

输出描述 Output Description

仅一行:输出一个整数,表示Bessie可以选择的格子数量。

样例输入 Sample Input

4 3

2 1

2 3

4 1

样例输出 Sample Output

5

数据范围及提示 Data Size & Hint

数据范围

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 超级弹珠的更多相关文章

  1. BZOJ1709: [Usaco2007 Oct]Super Paintball超级弹珠

    1709: [Usaco2007 Oct]Super Paintball超级弹珠 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 324  Solved: ...

  2. 1709: [Usaco2007 Oct]Super Paintball超级弹珠

    1709: [Usaco2007 Oct]Super Paintball超级弹珠 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 339  Solved:  ...

  3. BZOJ1709超级弹珠

    1709: [Usaco2007 Oct]Super Paintball超级弹珠 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 352  Solved:  ...

  4. bzoj1709 [Usaco2007 Oct]Super Paintball超级弹珠 暴力

    [Usaco2007 Oct]Super Paintball超级弹珠 Description 奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩弹游戏设备(类乎于真人版CS). Bess ...

  5. BZOJ 1709: [Usaco2007 Oct]Super Paintball超级弹珠

    Description 奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩弹游戏设备(类乎于真人版CS). Bessie把她们玩游戏草坪划成了N * N(1 <= N<= 1 ...

  6. [Usaco2007 Oct] Super Paintball超级弹珠

    Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 489  Solved: 384[Submit][Status][Discuss] Description ...

  7. 【BZOJ】1709: [Usaco2007 Oct]Super Paintball超级弹珠

    [算法]模拟 [题解]O(n^2)预处理横线(y),纵线(x),主对角线(y-x+n),副对角线(x+y). 然后n^2枚举每个点.

  8. 【枚举】bzoj1709 [Usaco2007 Oct]Super Paintball超级弹珠

    由于子弹的轨迹是可逆的,因此我们可以枚举所有敌人的位置,然后统计他们能打到的位置,这些位置也就是能打到他们的位置咯. O(n*k). #include<cstdio> using name ...

  9. bzoj 1709: [Usaco2007 Oct]Super Paintball超级弹珠【枚举】

    k是1e5范围的,吗? 注意到n只有100,这意味着k去重之后之后n^2,也就是1e4! 然后就可以愉快的n^4枚举了,枚举每个格子,再枚举每个敌人,如果当前格子射不到敌人则退出,否则满足所有敌人则a ...

随机推荐

  1. Asp.Net 之 缓存机制

    asp.net缓存有三种:页面缓存,数据源缓存,数据缓存. 一.页面缓存 原理:页面缓存是最常用的缓存方式,原理是用户第一次访问的时候asp.net服务器把动态生成的页面存到内存里,之后一段时间再有用 ...

  2. 如何使用VSTS做压力测试

    1 前言 1.1 目的 本文档主要介绍如何在VSTS环境中进行LoadTest测试,给测试人员和初次使用者提供参考. 对该工具进行LoadTest测试的优劣进行简单的分析说明. 1.2 软件版本 本文 ...

  3. 利用动画+div的前后切换实现轮播

    可以利用两块div(分别设为前和后),用绝对定位使两块div重合,再利用z-index实现两块div的堆叠顺序(即显示的变换),利用动画和定时器实现轮播,这就是基本的思路. 完整的顺序如下: 1.先设 ...

  4. Intent的介绍

    一.Intent的介绍 Intent的中文意思是“意图,意向”,在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作 的动作.动作涉及数据.附加数据进行描 ...

  5. java.lang.SecurityException: Permission denied (missing INTERNET permission?) 解决

    Android app里试图用HttpUrlConnection获取网络连接,忘记在AndroidManifest清单文件里声明需要用到Internet的权限,运行时报此错误. 解决方法 在Andro ...

  6. RMI原理

    一.分布式对象 在学习 RMI 之前,先来分布式对象(Distributed Object):分布式对象是指一个对象可以被远程系统所调用.对于 Java 而言,即对象不仅可以被同一虚拟机中的其他客户程 ...

  7. mongodb用mongoose取到的对象不能增加属性

    先定义了一个article的schema var mongoose = require('mongoose'); var Schema = mongoose.Schema; exports.schem ...

  8. (总结)CentOS Linux下VNC Server远程桌面配置详解

    一.安装相应桌面环境与vnc服务端和客户端: # yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安装GNOME桌面环 ...

  9. HTTP和HTTPS详解

    http://blog.csdn.net/mingli198611/article/details/8055261/ 转自:http://www.cnblogs.com/ok-lanyan/archi ...

  10. WCF编程系列(四)配置文件

    WCF编程系列(四)配置文件   .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...