洛谷2105 k皇后
P2105 K皇后
题目描述
小Z最近捡到了一个棋盘,他想在棋盘上摆放K个皇后。他想知道在他摆完这K个皇后之后,棋盘上还有多少了格子是不会被攻击到的。
(Ps:一个皇后会攻击到这个皇后所在的那一行,那一列,以及两条对角线)
输入输出格式
输入格式:
第一行三个正整数 n,m,K,表示棋盘的行列,以及小Z摆放了K个皇后。
接下来K行,每行两个正整数x,y,表示这个皇后被摆在了第x行,第y列,数据保证没有任何两个皇后会被摆在同一个格子里。
输出格式:
一行一个整数,表示棋盘上还有多少了格子是不会被攻击到的。
输入输出样例
12 13 6
10 4
12 10
1 1
2 3
3 2
2 6
25
说明
【数据规模和约定】
对于 30%的数据,1 ≤ n,m ≤ 5000,1 ≤ k ≤ 500。
对于另外 10%的数据,k =1。
对于 100%的数据,1 ≤ n,m ≤ 20000,1 ≤ k ≤ 500。
【时空限制】
1s/16M
枚举一行
{
枚举一个皇后
{
皇后控制的一行就是这一行continue
皇后控制的一列存在于这一行的位置没有讨论过ans++,标记
皇后控制的一条对角线存在于这一行的位置没有讨论过ans++,标记
皇后控制的另一条对角线存在于这一行的位置没有讨论过ans++,标记
}
}
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int x[],y[],h[];
int main()
{
int n,m,k,i,j,ans,t;
scanf("%d%d%d",&n,&m,&k);
memset(h,,sizeof(h));
for (i=;i<=k;i++) scanf("%d%d",&x[i],&y[i]);
ans=;
for (i=;i<=n;i++)
{
t=m;
for (j=;j<=k;j++)
if (x[j]==i)
{
t=;
break;
}
else
{
if (h[y[j]]!=i)
{
h[y[j]]=i;
t--;
}
if ((i+y[j]-x[j])> && (i+y[j]-x[j])<=m && h[i+y[j]-x[j]]!=i)
{
h[i+y[j]-x[j]]=i;
t--;
}
if ((y[j]+x[j]-i)> && (y[j]+x[j]-i)<=m && h[y[j]+x[j]-i]!=i)
{
h[y[j]+x[j]-i]=i;
t--;
}
}
ans+=t;
}
printf("%d\n",ans);
return ;
}
洛谷2105 k皇后的更多相关文章
- 洛谷P2105 K皇后
To 洛谷.2105 K皇后 题目描述 小Z最近捡到了一个棋盘,他想在棋盘上摆放K个皇后.他想知道在他摆完这K个皇后之后,棋盘上还有多少了格子是不会被攻击到的. (Ps:一个皇后会攻击到这个皇后所在的 ...
- 洛谷 P2105 K皇后
P2105 K皇后 题目描述 小Z最近捡到了一个棋盘,他想在棋盘上摆放K个皇后.他想知道在他摆完这K个皇后之后,棋盘上还有多少了格子是不会被攻击到的. (Ps:一个皇后会攻击到这个皇后所在的那一行,那 ...
- 洛谷 P1219 八皇后【经典DFS,温习搜索】
P1219 八皇后 题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序 ...
- 洛谷 p1219 八皇后
刚参加完蓝桥杯 弱鸡错了好几道..回头一看确实不难 写起来还是挺慢的 于是开始了刷题的道路 蓝桥杯又名搜索杯 暴力杯...于是先从dfs刷起 八皇后是很经典的dfs问题 洛谷的这道题是这样的 上面的布 ...
- 洛谷P1219 八皇后【dfs】
题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 ...
- 洛谷2483 k短路([SDOI2010]魔法猪学院)
题目请戳这里 一句话题意: 给你一张n个节点,m条单向边的图,求1到n第k短的路. emmm,纪念第一个黑题(我是真的菜啊!!) 这题目还是很难的,本蒟蒻只会被洛谷卡掉的A(所以就愉快地特判了),首先 ...
- 【洛谷P1219 八皇后】
参考思路见白书(一本通) 题目链接 题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上 ...
- 洛谷 P1219 八皇后题解
题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 ...
- 洛谷P2045 K方格取数(算竞进阶习题)
费用流 又是一道网络流的模型,对于这种费用与经过次数有关的边,我们经常把边拆成多条,比如这个题,第一次费用是x,第二次是0,我们就可以先把点拆成入点和出点,入点和出点又连两条边,第一条容量为1,费用为 ...
随机推荐
- 如何查看apache配置文件路径
我是用https://lamp.sh/安装的,apache配置文件位置在:/usr/local/apache/conf/httpd.conf如果是直接安装的apache,配置文件应该在:/etc/ht ...
- mini2440 u-boot禁止蜂鸣器
mini2440的u-boot版本启动之后马上就会开启蜂鸣器,在办公环境下有可能会影响同事的工作,所以我考虑将其禁止掉. 我使用的mini2440使用的光盘是2013年10月的版本,我在该光盘下的u- ...
- hihocoder #1052 : 基因工程(字符串处理 + 找规律 )
#1052 : 基因工程 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho正在进行一项基因工程实验.他们要修改一段长度为N的DNA序列,使得这段DNA上最前面 ...
- Spring Boot2.0之热部署原理
所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署 原理: 实用类加载器(classloader重新读取字节码文件到jvm内存) 如何纯手写一个热部署功能: 1.监听 cla ...
- struts2 自定义类型转化 第三弹
1.Struts2的类型转化,对于8种原生数据类型以及Date,String等常见类型,Struts2可以使用内建的类型转化器实现自动转化:但对于自定义的对象类型来说,就需要我们自己指定类型转化的的方 ...
- kvm初体验之八:调整vm的vcpu, memory, disk大小
假设host上创建的vm的名字为vm1. 1. 查看vm1的domain information [root@tanghuimin thm]# virsh dominfo vm1 Id: 10 Nam ...
- 实现远程连接MySQL
首先登录远程服务器,然后登录mysql:mysql -u用户 -p密码; 创建允许远程登录的用户并赋权:grant all privileges on 数据库.表名 to 用户名@'IP地址' ide ...
- POJ 2497 Strategies
题意:有三个人,Bill, Steve and Linus,他们参加竞赛,给出竞赛的题目和比赛时间,然后给出每道题需要的时间(他们解同一道题花的时间相同),然后他们有不同的策略来做题.每道题的得分为当 ...
- j2ee项目Java代码性能优化要点(抄书)
亚信联创科技出版的. 1.与log4j有关的性能问题 Logger对象的标准定义方式: private static transient Logger log=Logger.getLogger(cre ...
- 使用webdriver出现的问题:[18796:1808:0730/131103.313:ERROR:install_util.cc(600)] Failed to read HKLM\SOFTWARE\Policies\Google\Chrome\MachineLevelUserCloudPolicyEnrollmentToken: 系统找不到指定的文件。 (0x2) DevTools lis
1.注册表导致 [5956:4996:0710/155156.898:ERROR:install_util.cc(589)] Unable to create registry key HKLM\SO ...