3016 质子撞击炮 II
【抱歉数据错误~~已修复】
欧盟简直是太贪心了。继完成与苏联的合作灭了尤里之后,继续与苏联交战。可惜的是,在这期间,传说中的小日本(旭日帝国·升阳帝国)居然强大起来了。盟军重新与苏联合作,准备歼灭日本。在小爱(爱因斯坦)之后,不少盟军的杰出科学家合作发明了闪电风暴二代:质子撞击炮。它的好处就是冷却时间短,威力大。每当一次攻击过后,五发质子能量炮弹一齐落在敌人基地里,造成毁灭性的打击。缺点就是,炮弹先打到外太空再掉进敌人家中,飞的时间太长了。盟军老大迫不及待的想知道这次攻击能毁掉日本多少建筑物,请你编程帮忙算一下。数据详见输入描述。
输入的第一行n,表示敌方阵营的大小。
输入的第2~n+1,表示输入一个敌方阵营图。阵营图中每个元素由0-9组成。0表示没有建筑物,其余数字表示当前建筑物的血量值。(默认每个建筑物占一个方格)。
输入的接下来五行,表示五发质子能量炮弹的落点中心,表示落点在笛卡尔坐标系的某个点上。质子能量炮弹对中心造成2点伤害,对以该点为九宫格中心的其他八个方格造成一点伤害。如果某个点的建筑物血量被轰击至0或更低,则称这个建筑物被击毁。
仅一行,被击毁的建筑物数量。
5
0 3 1 2 4
1 3 4 1 0
0 0 3 4 1
1 3 4 5 0
0 0 9 0 0
1 2
2 2
4 3
4 3
2 4
8
(点a,点b)表示第a行第b列
原题有误,我更正一下。
顺便加强了数据(最大1000*1000的邻接矩阵);
分类标签 Tags 点此展开
分析:没有分析的必要
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
short int a[][],n,ans;
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
scanf("%d",&a[i][j]);
if(a[i][j]==) a[i][j]=-;
}
}
for(int i=,x,y;i<=;i++){
scanf("%d%d",&x,&y);
a[x][y]-=;
if(x->=)a[x-][y]--;
if(x+<=n)a[x+][y]--;
if(y->=)a[x][y-]--;
if(y+<=n)a[x][y+]--;
if(x->=&&y->=)a[x-][y-]--;
if(x+<=n&&y+<=n)a[x+][y+]--;
if(x->=&&y+<=n)a[x-][y+]--;
if(x+<=n&&y->=)a[x+][y-]--;
}
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
if(a[i][j]<=&&a[i][j]>-){
ans++;
}
}
}
printf("%d\n",ans);
return ;
}
3016 质子撞击炮 II的更多相关文章
- codevs 3061 质子撞击炮②
提交地址:http://codevs.cn/problem/3016/ 3016 质子撞击炮 II 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描 ...
- 2018.07.22哨戒炮 II(树形dp)
哨戒炮 II 描述 你的防线成功升级,从原来的一根线变成了一棵树.这棵树有 N 个炮台,炮台与炮台之间 有 N-1 条隧道.你要选择一些炮台安装哨戒炮.在第 i 个炮台上安装哨戒炮得到的防御力为 vi ...
- Bzoj 4591: [Shoi2015]超能粒子炮·改 数论,Lucas定理,排列组合
4591: [Shoi2015]超能粒子炮·改 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 178 Solved: 70[Submit][Stat ...
- Leetcode 笔记 113 - Path Sum II
题目链接:Path Sum II | LeetCode OJ Given a binary tree and a sum, find all root-to-leaf paths where each ...
- Leetcode 笔记 117 - Populating Next Right Pointers in Each Node II
题目链接:Populating Next Right Pointers in Each Node II | LeetCode OJ Follow up for problem "Popula ...
- 函数式Android编程(II):Kotlin语言的集合操作
原文标题:Functional Android (II): Collection operations in Kotlin 原文链接:http://antonioleiva.com/collectio ...
- 统计分析中Type I Error与Type II Error的区别
统计分析中Type I Error与Type II Error的区别 在统计分析中,经常提到Type I Error和Type II Error.他们的基本概念是什么?有什么区别? 下面的表格显示 b ...
- hdu1032 Train Problem II (卡特兰数)
题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能. (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...
- [LeetCode] Guess Number Higher or Lower II 猜数字大小之二
We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to gues ...
随机推荐
- [ javascript New Image() ] New Image() 对象讲解
创建一个Image对象:var a=new Image(); 定义Image对象的src: a.src="xxx.gif"; 这样做就相当于给浏览器缓存了一张图片. 图 ...
- Bonobo Git Server (Simple git server for Windows.) 测试备忘
Bonobo Git Server是一款Windows上的Git Server,它使用IIS即可,走的是Http协议,只要简单的安装就能使用,但是因为我的项目大小有1.35GB在 push 的时候一直 ...
- Android根据APP包名启动应用
public void openApp(String packageName, Context context) { PackageManager packageManager = context.g ...
- C语言指针传递详解
传递指针可以让多个函数访问指针所引用的对象,而不用把对象声明为全局可访问,要在某个函数中修改数据,需要用指针传递数据,当数据是需要修改的指针的时候,就要传递指针的指针,传递参数(包括指针)的时候,传递 ...
- 【转载】iOS堆和栈的理解
操作系统iOS 中应用程序使用的计算机内存不是统一分配空间,运行代码使用的空间在三个不同的内存区域,分成三个段:“text segment “,“stack segment ”,“heap segme ...
- 【读书笔记】iOS-查看一个软件ipa包的内容
一,打开itunes----->我的iPhone应用程序. 二,右键点击app---->在Finder中显示---->出现下图所示界面. 三,将上图中的ipa包拷贝到桌面,如下图所示 ...
- 【转】self.myOutlet=nil、viewDidUnload、dealloc的本质剖析
对于iphone开发人员来说,内存管理是极为重要的技巧,哪怕程序的功能再强大,设计再漂亮,如果内存控制不好,也难逃程序莫名退出的噩运,这与网页开发是完全不同的. 内存控制里面有很多门道,在这里分析一下 ...
- 真机调试出现Could not find Developer Disk Image问题解决办法
1.升级Xcode 2. 在使用Xcode进行真机调试的时候,有时根据真机的系统不同,会出现could not find developer disk image 错误,这是由于真机系统过高或者过低, ...
- 使用eclipse遇到问题:the-package-collides-with-a-type
相似问题:http://stackoverflow.com/questions/12236909/the-package-collides-with-a-type
- DEV 财务货币格式单元格
在用友金蝶等财务软件中,经常需要输入货币类型的数据, 那么这种输入框要如何制作呢? 扩展DataGridView 的功能 出自在天空飞翔博客 http://www.cnblogs.com/micha ...