洛谷P1789 【Mc生存】插火把

简介: 洛谷P1789 【Mc生存】插火把

#define  _CRT_SECURE_NO_WARNINGS 1
 
//用c++的头写c要不然会有一个RE
#include <iostream>
using namespace std;
 
int n, m, k, x, y, ans, a[101][101]; //数组不需要开那么大101足够
 
int main()
{
  scanf("%d %d %d", &n, &m, &k);
 
  //火把
  for (int i = 1; i <= m; i++)
  {
    scanf("%d %d", &x, &y);
    //防止数组越界
    x += 2;
    y += 2;
    for (int l = x - 1; l <= x + 1; l++)
      for (int p = y - 1; p <= y + 1; p++)
        a[l][p] = 1; //火把中间3*3的范围
    a[x - 2][y] = a[x + 2][y] = a[x][y - 2] = a[x][y + 2] = 1; //剩下的四个点单独标记
  }
 
  //萤石
  for (int i = 1; i <= k; i++)
  {
    scanf("%d %d", &x, &y);
    //防止数组越界
    x += 2;
    y += 2;
    for (int l = x - 2; l <= x + 2; l++)
      for (int p = y - 2; p <= y + 2; p++)
        a[l][p] = 1; //因为萤石的范围是5*5所以直接标记
  }
 
  //遍历
  for (int i = 1 + 2; i <= n + 2; i++) //+2后正常进行
    for (int j = 1 + 2; j <= n + 2; j++)
      if (a[i][j] == 0) //未标记即为没有光生怪处
        ans++;
  printf("%d\n", ans);
  return 0;
}
目录
相关文章
|
7月前
【每日一题Day179】LC1157子数组中占绝大多数的元素 | 线段树
【每日一题Day179】LC1157子数组中占绝大多数的元素 | 线段树
54 0
|
7月前
【每日一题Day144】LC1617统计子树中城市之间最大距离 | 树形dp
【每日一题Day144】LC1617统计子树中城市之间最大距离 | 树形dp
35 0
|
7月前
【每日一题Day356】LC2678老人的数目 | 字符串
【每日一题Day356】LC2678老人的数目 | 字符串
52 0
|
7月前
|
算法
2024春晚纸牌魔术原理----环形链表的约瑟夫问题
2024春晚纸牌魔术原理----环形链表的约瑟夫问题
|
7月前
|
存储
【每日一题Day173】LC1019链表中的下一个更大节点 |单调栈
【每日一题Day173】LC1019链表中的下一个更大节点 |单调栈
34 0
|
7月前
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
56 0
|
算法 测试技术
牛客CM11 - 链表分割【环形链表雏形】
牛客CM11 - 链表分割【环形链表雏形】
53 0
|
测试技术
(dfs)(枚举)第十四届蓝桥杯第三次模拟赛:9.最大滑雪长度
(dfs)(枚举)第十四届蓝桥杯第三次模拟赛:9.最大滑雪长度
134 0
【每日一题Day62】LC1760袋子里最少数目的球 | 二分查找
首先,将题意转化为,当操作次数一定时,求出单个袋子里球的数目的最大值的最小值y yy,那么可以通过二分查找的方法找到最终的y yy,二分查找的下限为1,上限为数组nums中的最大值
115 0
【每日一题Day62】LC1760袋子里最少数目的球 | 二分查找
|
机器学习/深度学习
UPC 换位置游戏(BFS || 并查集判环)
UPC 换位置游戏(BFS || 并查集判环)
108 0
UPC 换位置游戏(BFS || 并查集判环)