zoukankan      html  css  js  c++  java
  • codevs 3061 质子撞击炮②

    提交地址:http://codevs.cn/problem/3016/

    3016 质子撞击炮 II

     

     时间限制: 1 s
     空间限制: 32000 KB
     题目等级 : 黄金 Gold
     
     
    题目描述 Description

    【抱歉数据错误~~已修复】

    欧盟简直是太贪心了。继完成与苏联的合作灭了尤里之后,继续与苏联交战。可惜的是,在这期间,传说中的小日本(旭日帝国·升阳帝国)居然强大起来了。盟军重新与苏联合作,准备歼灭日本。在小爱(爱因斯坦)之后,不少盟军的杰出科学家合作发明了闪电风暴二代:质子撞击炮。它的好处就是冷却时间短,威力大。每当一次攻击过后,五发质子能量炮弹一齐落在敌人基地里,造成毁灭性的打击。缺点就是,炮弹先打到外太空再掉进敌人家中,飞的时间太长了。盟军老大迫不及待的想知道这次攻击能毁掉日本多少建筑物,请你编程帮忙算一下。数据详见输入描述。

     

    输入描述 Input Description

    输入的第一行n,表示敌方阵营的大小。

    输入的第2~n+1,表示输入一个敌方阵营图。阵营图中每个元素由0-9组成。0表示没有建筑物,其余数字表示当前建筑物的血量值。(默认每个建筑物占一个方格)。

    输入的接下来五行,表示五发质子能量炮弹的落点中心,表示落点在笛卡尔坐标系的某个点上。质子能量炮弹对中心造成2点伤害,对以该点为九宫格中心的其他八个方格造成一点伤害。如果某个点的建筑物血量被轰击至0或更低,则称这个建筑物被击毁。

     

    输出描述 Output Description

    仅一行,被击毁的建筑物数量。

    样例输入 Sample Input

    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

    样例输出 Sample Output

    8

    数据范围及提示 Data Size & Hint

    (点a,点b)表示第a行第b列

    原题有误,我更正一下。

    顺便加强了数据(最大1000*1000的邻接矩阵);

     1 #include<cstdio>
     2 int x,y;
     3 int n;
     4 int a[1000+10][1000+10];
     5 bool b[1000+10][1000+10];
     6 int dx[10]={0,1,1,1,0,0,-1,-1,-1};
     7 int dy[10]={0,1,0,-1,1,-1,1,0,-1};
     8 void daji(int x,int y)
     9   {
    10       a[x][y]-=2;
    11       for(int i=1;i<=8;i++)
    12         a[x+dx[i]][y+dy[i]]-=1;
    13   }
    14 int main()
    15   {
    16       scanf("%d",&n);
    17       for(int i=1;i<=n;i++)
    18         for(int j=1;j<=n;j++)
    19           {
    20               scanf("%d",&a[i][j]);
    21               if(a[i][j]!=0) b[i][j]=1;
    22           }
    23       for(int i=1;i<=5;i++)
    24         {
    25             scanf("%d%d",&x,&y);
    26             daji(x,y);
    27         }
    28     int ans=0;
    29       for(int i=1;i<=n;i++)
    30         for(int j=1;j<=n;j++)
    31           if(a[i][j]<=0&&b[i][j]==true)
    32             ans++;
    33       printf("%d",ans);
    34       return 0;
    35   }
  • 相关阅读:
    Leetcode 238. Product of Array Except Self
    Leetcode 103. Binary Tree Zigzag Level Order Traversal
    Leetcode 290. Word Pattern
    Leetcode 205. Isomorphic Strings
    Leetcode 107. Binary Tree Level Order Traversal II
    Leetcode 102. Binary Tree Level Order Traversal
    三目运算符
    简单判断案例— 分支结构的应用
    用switch判断月份的练习
    java基本打印练习《我行我素购物系统》
  • 原文地址:https://www.cnblogs.com/yuemo/p/5538998.html
Copyright © 2011-2022 走看看