洛谷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;
}
目录
相关文章
|
2月前
|
算法
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
代码随想录算法训练营第五十七天 | LeetCode 739. 每日温度、496. 下一个更大元素 I
28 3
|
2月前
|
算法 测试技术 索引
【力扣】45.跳跃游戏Ⅱ
【力扣】45.跳跃游戏Ⅱ
|
2月前
|
算法
2024春晚纸牌魔术原理----环形链表的约瑟夫问题
2024春晚纸牌魔术原理----环形链表的约瑟夫问题
|
2月前
|
存储 算法
【每日一题Day310】LC1654到家的最少跳跃次数 | BFS
【每日一题Day310】LC1654到家的最少跳跃次数 | BFS
25 0
|
2月前
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
【每日一题Day126】LC1140石子游戏Ⅱ | 博弈dp 记忆化搜索
37 0
|
8月前
|
算法 Java
代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球
代码随想录算法训练营第三十四天 | LeetCode 860. 柠檬水找零、406. 根据身高重建队列、452. 用最少数量的箭引爆气球
45 0
|
算法 C++ Python
每日算法系列【LeetCode 556】下一个更大元素 III
每日算法系列【LeetCode 556】下一个更大元素 III
|
算法 C++ Python
每日算法系列【LeetCode 503】下一个更大元素 II
每日算法系列【LeetCode 503】下一个更大元素 II
【CCCC】L3-018 森森美图 (30分),计算几何+判断三点共线+bfs最短路
【CCCC】L3-018 森森美图 (30分),计算几何+判断三点共线+bfs最短路
122 0
代码随想录刷题|LeetCode 739. 每日温度 496.下一个更大元素 I
代码随想录刷题|LeetCode 739. 每日温度 496.下一个更大元素 I