链接:https://www.nowcoder.com/acm/contest/134/C 
来源:牛客网

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define N 1005
  4. int a[N][N],dir[][]={{-,,,},{,,,-}};//四周的格子
  5. int n,m,sum;
  6.  
  7. bool judge(int x,int y)//判断周围的病菌数
  8. {
  9. int xx,yy,i;
  10. sum=;//周围病菌数
  11. for (i=;i<;i++)
  12. {
  13. xx=x+dir[][i];
  14. yy=y+dir[][i];
  15. if (xx<||xx>n||yy<||yy>n)//超出范围
  16. {
  17. continue;
  18. }
  19. if (a[xx][yy]==)
  20. {
  21. sum++;
  22. }
  23. }
  24. if (sum>=)
  25. {
  26. return true;
  27. }
  28. return false;
  29. }
  30.  
  31. void bfs(int i,int j)//广搜标记被感染的格子
  32. {
  33. if (i<=||i>n||j<=||j>n||false==judge(i,j)||a[i][j]==)//若无a[i][j]==1则会死循环
  34. {
  35. return;
  36. }
  37.  
  38. if (true==judge(i,j))
  39. {
  40. a[i][j]=;
  41. bfs(i,j-);
  42. bfs(i,j+);
  43. bfs(i-,j);
  44. bfs(i+,j);
  45. }
  46. }
  47.  
  48. void test()
  49. {
  50. int i,j;
  51. for (i=;i<=n;i++)
  52. {
  53. for (j=;j<=n;j++)
  54. {
  55. printf("%d",a[i][j]);
  56. }
  57. printf("\n");
  58. }
  59. }
  60.  
  61. void solve()
  62. {
  63. int i,j,r,l;
  64. memset(a,,sizeof(a));
  65. for (i=;i<m;i++)
  66. {
  67. scanf("%d %d",&r,&l);
  68. a[r][l]=;
  69. }
  70. // test();
  71. for (i=;i<=n;i++)
  72. {
  73. for (j=;j<=n;j++)
  74. {
  75. if (a[i][j]==)
  76. {
  77. bfs(i,j);
  78. }
  79. }
  80. }
  81. for (i=;i<=n;i++)//看是否全部被感染
  82. {
  83. for (j=;j<=n;j++)
  84. {
  85. if (a[i][j]==)
  86. {
  87. printf("NO\n");
  88. return;
  89. }
  90. }
  91. }
  92. printf("YES\n");
  93. return;
  94. }
  95.  
  96. int main()
  97. {
  98. while (scanf("%d %d",&n,&m)!=EOF)
  99. {
  100. solve();
  101. // test();
  102. }
  103.  
  104. return ;
  105. }

牛客小白月赛4C——病菌感染的更多相关文章

  1. 树的最长链-POJ 1985 树的直径(最长链)+牛客小白月赛6-桃花

    求树直径的方法在此转载一下大佬们的分析: 可以随便选择一个点开始进行bfs或者dfs,从而找到离该点最远的那个点(可以证明,离树上任意一点最远的点一定是树的某条直径的两端点之一:树的直径:树上的最长简 ...

  2. 牛客网 牛客小白月赛5 I.区间 (interval)-线段树 or 差分数组?

    牛客小白月赛5 I.区间 (interval) 休闲的时候写的,但是写的心情有点挫,都是完全版线段树,我的一个队友直接就水过去了,为啥我的就超内存呢??? 试了一晚上,找出来了,多初始化了add标记数 ...

  3. 牛客小白月赛8 - E - 诡异数字 数位DP

    牛客小白月赛8 - E - 诡异数字 题意: 求区间中,满足限制条件的数字的个数. 限制条件就是某些数字不能连续出现几次. 思路: 比较裸的数位DP, DP数组开一个dp[len][x][cnt] 表 ...

  4. 牛客小白月赛18 Forsaken给学生分组

    牛客小白月赛18 Forsaken给学生分组 Forsaken给学生分组 链接:https://ac.nowcoder.com/acm/contest/1221/C来源:牛客网 ​ Forsaken有 ...

  5. 牛客小白月赛18 Forsaken喜欢数论

    牛客小白月赛18 Forsaken喜欢数论 题目传送门直接点标题 ​ Forsaken有一个有趣的数论函数.对于任意一个数xxx,f(x)f(x)f(x)会返回xxx的最小质因子.如果这个数没有最小质 ...

  6. 牛客小白月赛19 E 「火」烈火燎原 (思维,树)

    牛客小白月赛19 E 「火」烈火燎原 (思维,树) 链接:https://ac.nowcoder.com/acm/contest/2272/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空 ...

  7. 【牛客小白月赛21】NC201604 Audio

    [牛客小白月赛21]NC201604 Audio 题目链接 题目大意: 给出三点 ,求到三点距离相等的点 的坐标. 解析 考点:计算几何基础. 初中蒟蒻表示不会什么法向量.高斯消元..qwq 方法一: ...

  8. 【牛客小白月赛21】NC201605 Bits

    [牛客小白月赛21]NC201605 Bits 题目链接 题目描述 Nancy喜欢做游戏! 汉诺塔是一个神奇的游戏,神奇在哪里呢? 给出3根柱子,最开始时n个盘子按照大小被置于最左的柱子. 如果盘子数 ...

  9. 牛客小白月赛16 小石的妹子 二分 or 线段树

    牛客小白月赛16 这个题目我AC之后看了一下别人的题解,基本上都是线段树,不过二分也可以. 这个题目很自然就肯定要对其中一个进行排序,排完序之后再处理另外一边,另一边记得离散化. 怎么处理呢,你仔细想 ...

随机推荐

  1. SAP CRM系统订单模型的设计与实现

    SAP成都研究院的一个部门领导让我给他的团队做一个SAP CRM One Order框架的培训,这是我准备的培训内容. 在Jerry之前的文章 基于SAP Kyma的订单编排增强介绍,我表达了自己对S ...

  2. Task ‘run’ not found in root project

    问题现象: Task 'run' not found in root project 'springframework'. 问题原因: 没有在gradle.build文件中添加如下配置, mainCl ...

  3. c3p0整合mysql报错问题

    启动报错: [com.mchange.v2.c3p0.DriverManagerDataSource] - Could not load driverClass com.mysql.cj.jdbc.D ...

  4. 圆环,扇形控件基本算法一种实现 - 代码库 - CocoaChina_让移动开发更简单

    圆环,扇形控件基本算法一种实现 - 代码库 - CocoaChina_让移动开发更简单   ////  CircleCore.h//  Quartz////  Created by 仙人掌 on 12 ...

  5. Core Animation 与 GPU

    https://en.wikipedia.org/wiki/Core_Animation#cite_note-apptech-1 Core Animation provides a way for d ...

  6. Git 初始化全局user.name 和 user.email

    git config --global user.name "username" git config --global user.email "email"

  7. python中的sum函数.sum(axis=1)

    看起来挺简单的样子,但是在给sum函数中加入参数.sum(a,axis=0)或者是.sum(axis=1) 就有点不解了 在我实验以后发现 我们平时用的sum应该是默认的axis=0 就是普通的相加 ...

  8. 如何用C#对Gridview的项目进行汇总统计?

    上一次用了javascript对gridview进行了汇总统计,但那个统计是在客户端进行的,虽然减轻了服务器的负担,但是,当需要把统计信息汇出excel时,汇总信息却死活不出来了,所以,绕半天又绕回来 ...

  9. 【题解】洛谷P4391 [BOI2009] Radio Transmission(KMP)

    洛谷P4391:https://www.luogu.org/problemnew/show/P4391 思路 对于给定的字符串 运用KMP思想 设P[x]为前x个字符前缀和后缀相同的最长长度 则对于题 ...

  10. SPOJ SUBXOR

    SPOJ SUBXOR 题意 给定一个由正整数构成的数组, 求 异或和小于k 的子序列的个数. 题解 假设答案区间为 [L, R], XOR[L, R] 等价于 XOR[1, L - 1] ^ XOR ...