HNUSTOJ-1521 塔防游戏
1521: 塔防游戏
时间限制: 1 Sec 内存限制: 128 MB
提交: 117 解决: 38
[提交][状态][讨论版]
题目描述
小明最近迷上了塔防游戏,塔防游戏的规则就是在地图上建炮塔,用于防御敌军的进攻。
这里我们假设地图是一个n行m列的格子,每个炮塔只能建在格子里,这里的炮塔有点奇怪,因为它只能攻击它自己所在行和所在列的格子(包括自身),并且每两个塔既不能放在同一列也不能放在同一行;现在小明建好了cnt个塔,小明一看这cnt个塔的攻击范围刚好把地图割成了S个炮塔攻击不到的区域,因为区域太多了,小明没法数,小明想知道答案S是多少,你能帮助他吗?
输入
有多组测试数据;每组测试数据的格式如下:
第一行输入两个数n,m分别表示地图有n行m列个格子(1<=n<=100000,1<=m<=100000);
接下来一行输入一个数cnt表示小明建好的塔数(1<=cnt<=Min(n,m));
接下来的cnt行,每行输入两个数r,c表示每个塔在地图上的位置(1<=r<=n,1<=c<=m);
输出
每组测试数据输出一个数S(如上所述),占一行;
样例输入
5 5
2
2 2
3 3
样例输出
4
提示
sample的解释:如图所示,地图是一个5行5列的格子,在(2,2),(3,3)处有两个炮塔,阴影部分为这两个炮塔的攻击范围,最后地图被这两个炮塔的攻击范围分成了4个无法攻击到的区域,所以答案是4;
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio> using namespace std;
const int N = + ;
int x[N], y[N];
int main(){
int n, m, k;
while(scanf("%d %d", &n, &m) == ){
scanf("%d", &k);
for(int i = ; i < k; i++) scanf("%d %d", &x[i], &y[i]);
int cntx = , cnty = ; sort(x, x + k);
if(x[] != ) cntx++;
for(int i = ; i < k; i++)
if(x[i] != x[i-] + ) cntx++;
if(x[k-] == n) cntx--; sort(y, y + k);
if(y[] != ) cnty++;
for(int i = ; i < k; i++)
if(y[i] != y[i-] + ) cnty++;
if(y[k-] == m) cnty--; printf("%d\n",(cntx+) * (cnty+));
}
}
HNUSTOJ-1521 塔防游戏的更多相关文章
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(三)
一.前提: 完成前一篇的内容. 具体参考:Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(二)篇 二.本篇目标: l 说说游戏中各种角色的动作.属性以及重构思路 l 进行代码重构让色狼大叔和 ...
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(二)
一.前提: 完成前一篇的内容. 具体参考:Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(一)篇 二.本篇目标: l 说说关于cocos2dx手机分辨率适配 l 对前一篇完成的塔防游戏原型进 ...
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(一)
一.前提: 完成Hello Game项目的创建编译. 具体参考:Cocos2dx.3x_Hello Game项目创建篇 二.本篇目标: l 说说关于塔防游戏的想法和思路 l 实现一个简单的塔防游戏 ...
- 三国塔防游戏android源码
三国塔防游戏源码,这个游戏源码比较完整的,因为上传有20M限制,把代码工程包分开了,主文件是TFGame,其他res大家按照安卓包加进去就行,欢迎下载并交流 ,大家可以参考一下吧.<ignore ...
- HTML5塔防游戏——《三国塔防》 - Yorhom's Game Box
h3{ font-size:20px; } HTML5塔防游戏--<三国塔防> 游戏介绍: <三国塔防>是一款基于HTML5和Javascript的2D塔防游戏.游戏中除了塔防 ...
- HTML5另类塔防游戏 -《三国战线》公布
关于本作 游戏介绍 本游戏是一款另类塔防游戏.本作以三国这段历史为题材,提供了从颍川之战到官渡之战.官渡之战到夷陵之战.夷陵之战到五丈原之战等15个关卡.在每一个关卡中,你会控制一名三国武将与出现的敌 ...
- [译]终极塔防——运用HTML5从头创建一个塔防游戏
翻译共享一篇CodeProject的高星力作,原文地址:http://www.codeproject.com/Articles/737238/Ultimate-Tower-Defense 下载演示项目 ...
- 使用Unity创建塔防游戏(Part2)
How to Create a Tower Defense Game in Unity – Part 2 原文地址:https://www.raywenderlich.com/107529/unity ...
- 使用Unity创建塔防游戏(Part1)
How to Create a Tower Defense Game in Unity - Part1 原文作者:Barbara Reichart 文章原译:http://www.cnblogs.co ...
随机推荐
- 两句话掌握 Python 最难知识点——元类
千万不要被所谓“元类是99%的python程序员不会用到的特性”这类的说辞吓住.因为每个中国人,都是天生的元类使用者 学懂元类,你只需要知道两句话: 道生一,一生二,二生三,三生万物 我是谁?我从哪来 ...
- ssh复制公钥成功后仍需输入密码
1,网上说权限问题 登录流程: 被登录机器的文件权限: //用户权限 chmod 700 /home/username //.ssh文件夹权限 chmod 700 ~/.ssh/ // ~/.ssh/ ...
- mysql AVG()函数 语法
mysql AVG()函数 语法 作用:AVG 函数返回数值列的平均值.NULL 值不包括在计算中.大理石模组 语法:SELECT AVG(column_name) FROM table_name m ...
- Codeforces 962D Merge Equals ( 模拟 )
题意 : 给出一个序列,然后每次将重复出现的元素进行求和合并(若有多个,则优先取最小的进行合并),若某重复元素有很多,那么取最左边的那两个进行合并且合并后元素位于原来右边元素的位置,例如 3 2 6 ...
- Mui去掉滚动条:
/////////去掉滚动条mui.plusReady(function(){plus.webview.currentWebview().setStyle({scrollIndicator:'none ...
- pyinstaller打包的exe太大?你需要嵌入式python玄学
pyinstaller打包一个exe动辄几十M几百M (特别是import pandas以后) 知乎上居然没有人po这方面的”知识“(手动狗头) 查了很多关于reduce pyinstaller打包出 ...
- AIDL在android系统中的作用
AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口.最近看了下AIDL在A ...
- Jmeter性能测试一
用jmeter进行压力测试,在网上看到一个简单的例子.按步骤做,在jmeter中执行时,结果中error一直为100%.通过在代码中加入打印语句,才找出代码中的一处错误.下面po上的代码中已将错误修改 ...
- jsp四种属性范围
在JSP提供了四种属性的保存范围.所谓的属性保存范围,指的就是一个设置的对象,可以在多个页面中保存并可以继续使用.它们分别是:page.request.session.appliction. 1.pa ...
- lr中用C语言比较两个字符串变量
以下脚本,定义两个一样的字符数组,对比后,打印出result的值: Action() { int result; char string1[] = "We can see the strin ...