洛谷2105 k皇后

来源:互联网 发布:曲婉婷lll知乎 编辑:程序博客网 时间:2024/06/16 06:36

P2105 K皇后

题目描述

小Z最近捡到了一个棋盘,他想在棋盘上摆放K个皇后。他想知道在他摆完这K个皇后之后,棋盘上还有多少了格子是不会被攻击到的。

(Ps:一个皇后会攻击到这个皇后所在的那一行,那一列,以及两条对角线)

输入输出格式

输入格式:

 

第一行三个正整数 n,m,K,表示棋盘的行列,以及小Z摆放了K个皇后。

接下来K行,每行两个正整数x,y,表示这个皇后被摆在了第x行,第y列,数据保证没有任何两个皇后会被摆在同一个格子里。

 

输出格式:

 

一行一个整数,表示棋盘上还有多少了格子是不会被攻击到的。

 

输入输出样例

输入样例#1:
12 13 610 412 101 12 33 22 6
输出样例#1:
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[501],y[501],h[20001];int main(){    int n,m,k,i,j,ans,t;    scanf("%d%d%d",&n,&m,&k);    memset(h,0,sizeof(h));    for (i=1;i<=k;i++) scanf("%d%d",&x[i],&y[i]);    ans=0;    for (i=1;i<=n;i++)    {        t=m;        for (j=1;j<=k;j++)            if (x[j]==i)            {                t=0;                break;            }             else            {                if (h[y[j]]!=i)                {                    h[y[j]]=i;                    t--;                }                if ((i+y[j]-x[j])>0 && (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)>0 && (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 0;}

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 反复长粉刺痘痘怎么办 砂锅烫到手很痛怎么办 低压高怎么办吃什么好 熬夜多了掉头发怎么办 复蚕丝被洗过了怎么办 买了梅邦虫草精怎么办 医院不开转院证怎么办 棕垫一直有味道怎么办 棕子床垫味道大怎么办 羊绒大衣洗坏了怎么办 无痕内裤开胶了怎么办 衬衫洗了会缩水怎么办 脾虚引起的眼袋怎么办 沙漠玫瑰根烂了怎么办 多肉种子不发芽怎么办 多肉植物掉叶子怎么办 白色衣服染了蓝色怎么办 白色的衣服染色了怎么办 白毛衣染上金纺怎么办 白色的衣服变黄怎么办 白衣服84漂黄了怎么办 真丝的衣服皱了怎么办 衣服领子洗大了怎么办 真丝围巾洗皱了怎么办 真丝裙子洗花了怎么办 衣服晒得掉色了怎么办 衣服上出现霉点怎么办 校服后面的霉点怎么办 被子潮了有味道怎么办 涨奶堵塞有硬块怎么办 军训裤子腰大了怎么办 猫总是在床上尿怎么办 被子盖厚了上火怎么办 猫在被子上撒尿怎么办 脸上被辣椒辣了怎么办 压缩袋衣服皱了怎么办 新买的枕头太高怎么办 刚买的枕头太高怎么办 喝了过期的中药怎么办 喝了坏了的中药怎么办 德运奶粉过期了怎么办