洛谷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;
}
目录
相关文章
【腾讯】环形链表(证明有环)
【腾讯】环形链表(证明有环)
|
30天前
|
算法
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
【❤️算法笔记❤️】-(每日一刷-876、单链表的中点)
41 0
|
6月前
|
算法
2024春晚纸牌魔术原理----环形链表的约瑟夫问题
2024春晚纸牌魔术原理----环形链表的约瑟夫问题
|
6月前
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
47 0
【腾讯】环形链表(证明环的位置)
【腾讯】环形链表(证明环的位置)
|
6月前
|
存储 算法
【每日一题Day310】LC1654到家的最少跳跃次数 | BFS
【每日一题Day310】LC1654到家的最少跳跃次数 | BFS
45 0
|
11月前
|
算法 测试技术
牛客CM11 - 链表分割【环形链表雏形】
牛客CM11 - 链表分割【环形链表雏形】
48 0
|
算法 机器人 C++
剑指offer(C++)-JZ13:机器人的运动范围(算法-回溯)
剑指offer(C++)-JZ13:机器人的运动范围(算法-回溯)
【每日一题Day62】LC1760袋子里最少数目的球 | 二分查找
首先,将题意转化为,当操作次数一定时,求出单个袋子里球的数目的最大值的最小值y yy,那么可以通过二分查找的方法找到最终的y yy,二分查找的下限为1,上限为数组nums中的最大值
114 0
【每日一题Day62】LC1760袋子里最少数目的球 | 二分查找
|
机器学习/深度学习
UPC 换位置游戏(BFS || 并查集判环)
UPC 换位置游戏(BFS || 并查集判环)
104 0
UPC 换位置游戏(BFS || 并查集判环)
下一篇
无影云桌面