Time Limit: 5 Sec  Memory Limit: 64 MB
Submit: 489  Solved: 384
[Submit][Status][Discuss]

Description

奶牛们最近从著名的奶牛玩具制造商Tycow那里,买了一套仿真版彩弹游戏设备(类乎于真人版CS)。 Bessie把她们玩游戏草坪划成了N * N(1 <= N<= 100)单位的矩阵,同时列出了她的 K (1 <= K <= 100,000)个对手在草地上的位置。然后她拿着这张表来找你,希望你能帮她计算一个数据。 在这个游戏中,奶牛可以用一把弹珠枪向8个方向中的任意一个射出子弹。8个方向分别是:正北,正南,正东,正西,以及夹在这4个正方向之间的45°角:东北,东南,西北,西南方向。 Bessie望你告诉她,如果她想站在一个可以射到她的所有对手的格子上,那么她有多少种选择。当然,贝茜可以跟她的某一个对手站在同一个格子上,并且在这种情况下,你可以认为贝茜能射到跟她站在同一格子里的对手。

Input

* 第1行: 2个用空格隔开的整数:N和K

* 第2..K+1行: 第i+1行用2个以空格隔开整数R_i和C_i,描述了第i头奶牛的位置,表示她站在第R_i行,第C_i列

Output

* 第1行: 输出1个整数,表示如果Bessie可以选择的格子的数目。

Sample Input

4 3
2 1
2 3
4 1

输入说明:

牧场被划分成了4行4列。Bessie的站位必须保证她能射到站在(2,1),(2,3)

以及(4,1)的奶牛:

. . . .
C . C .
. . . . <--- 奶牛们的位置
C . . .

Sample Output

5

输出说明:

Bessie可以选择站在以下格子中的任意一个:(2,1),(2,3),(3,2),(4,1),
以及(4,3)。下右图中,Bessie与其他牛共同占有的格子被标记为'*':
. . . . . . . .
B . B . ---\ * . * .
. B . . ---/ . B . .
B . B . * . B .

思路

显然,对于每个位置,四个方向是不相交的;
所有就可以预处理出hs,ls,hls,lhs的值,然后根据这个判断每个点合不合适;

代码实现

 1 #include<cstdio>
 2 const int maxn=110;
 3 int n,k,ans;
 4 int map[maxn][maxn];
 5 int hs[maxn],ls[maxn],hls[maxn<<1],lhs[maxn<<1];
 6 int main(){
 7     scanf("%d%d",&n,&k);
 8     int x,y;
 9     for(int i=1;i<=k;i++){
10         scanf("%d%d",&x,&y);
11         map[x][y]++;
12         hs[x]+=map[x][y];
13         ls[y]+=map[x][y];
14         hls[n-x+y]+=map[x][y];
15         lhs[x+y-1]+=map[x][y];
16     }
17     for(int i=1;i<=n;i++)
18     for(int j=1;j<=n;j++)
19     if(hs[i]+ls[j]+hls[n-i+j]+lhs[i+j-1]-3*map[i][j]==k) ans++;
20     printf("%d\n",ans);
21     return 0;
22 }

转载于:https://www.cnblogs.com/J-william/p/8058193.html

[Usaco2007 Oct] Super Paintball超级弹珠相关推荐

  1. 超级弹珠游戏(洛谷P2356题题解,Java语言描述)

    题目要求 P2356题目链接 分析 这题高性能,所以不能用Scanner,否则会TLE,得用BufferedReader. 扫描地图,遇到0(有容身之地)的时候,扫一下同一行.同一列的数值,求个和. ...

  2. P2356 弹珠游戏

    题目背景 元宵节不放假挺郁闷的,于是时间机智的改到了星期6一整天! 题目描述 MedalPluS 和他的小伙伴 NOIRP 发掘了一个骨灰级别的游戏--超级弹珠. 游戏的内容是:在一个 n*n 的矩阵 ...

  3. 【洛谷】P2356 弹珠游戏 c++

    题目背景 元宵节不放假挺郁闷的,于是时间机智的改到了星期6一整天! 题目描述 MedalPluS 和他的小伙伴 NOIRP 发掘了一个骨灰级别的游戏--超级弹珠. 游戏的内容是:在一个 n*n 的矩阵 ...

  4. 洛谷P2356 弹珠游戏

    题目链接 题目背景 元宵节不放假挺郁闷的,于是时间机智的改到了星期6一整天! 题目描述 MedalPluS 和他的小伙伴 NOIRP 发掘了一个骨灰级别的游戏--超级弹珠. 游戏的内容是:在一个 n* ...

  5. 超级账本Fabric区块链用弹珠游戏Marbles 部署

    Marbles 演示 Marbles GitHub地址 关于 Marbles 这个应用程序的基础网络是 Hyperledger Fabric,后者是一个 Linux Foundation 项目.您可能 ...

  6. pygame小游戏--接弹珠

    目录 游戏展示 游戏精灵定义 弹珠精灵 玩家操纵板精灵定义 其他功能函数 资源加载函数 audio加载函数 碰撞检测函数 游戏面板类定义 游戏开始及主函数 游戏展示 下面给出项目的部分代码,想要该游戏 ...

  7. Java(awt)实现弹珠小游戏

    package Dzgame;import javax.swing.border.Border; import java.awt.*; import java.awt.event.*; import ...

  8. BZOJ-1644: [Usaco2007 Oct]Obstacle Course 障碍训练课(SPFA)

    1644: [Usaco2007 Oct]Obstacle Course 障碍训练课 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 707  Solve ...

  9. [BZOJ1643][Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪

    1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: ...

最新文章

  1. type=InnoDB ENGINE=InnoDB
  2. JavaFX 2:创建登录表单
  3. php+静态变量的初始值,php 静态变量的初始化
  4. SQL Server应用程序中的高级SQL注入[转]
  5. 教你计算三种分子性质的方法
  6. 发布javaweb网站教程(简单易懂)
  7. linux -----各种颜色代表什么
  8. js 带笔锋 签字版_重构转型前端——笔锋很朴实的入门随记
  9. 关系抽取调研——工业界
  10. 2020电信宽带费用_电信宽带套餐价格表2020
  11. 量化交易——羊驼交易法则
  12. 微信小程序合集源码I(机器人聊天+仿别踩白块儿小游戏+仿步步高电子词典+仿知乎+日记+汉字拼音+转盘抽奖)
  13. javacv开发详解之19:如何使用批量的多张图片制作apng动态图,再也不用担心不会制作动态图了
  14. python turtle库画一个五角星 【Python初学 绘制五角星】
  15. Ubuntu 18.04 Bionic Beaver Linux上安装TeamViewer
  16. Latex如何插入多个图片,实现并排排列或者多行多列排列
  17. LTSPICE仿真那些事
  18. CocosCreator2.3.3 Effect中换算图集中UV
  19. 爬取QQ音乐(周杰伦)
  20. oracle数据库分页查询慢,Oracle数据库中分页查询中排序及效率问题

热门文章

  1. spring源码学习一
  2. 汇编(8086cpu): 字节数据(byte)与字型数据
  3. es6 Set的几种使用场景
  4. 数据结构之图(2-2)【邻接多重表】适用于无向图
  5. Android 系统镜像: boot.img kernel.img ramdisk.img system.img userdata.img cache.img recovery.img
  6. socket:file descriptor exceeds limit (4096/4096)
  7. AutoMySQLBackup 3.0 Bug:du: WARNING: use --si, not -H
  8. java socket通信
  9. php 声明字符串的三种方式
  10. Javascript获取Html界面元素的几种方法