Biotech

题目大意:

有一堆细胞(放电或不放电),当周围细胞放电个数小于2或大于3时(八个方向),此细胞变为不放电,当周围细胞放电个数为2时,此细胞不变,当周围细胞放电个数为3时,此细胞变为放电

原题:

题目描述

Bob 发现了一群有趣的细胞。
这群细胞排列成一个 n × m 的矩阵。每个细胞有两个状态:放电状态和平静
状态。它们每秒钟都会按以下的规则转换状态:
首先我们定义,一个细胞的邻居为它周围的 8 个细胞。同时设 k 为某一个细
胞的处于放电状态的邻居的个数。
若 k < 2,则这个细胞在下一秒因电量不足而变为/保持平静状态。
若 k = 2,则这个细胞在下一秒保持原来的状态。
若 k = 3,则这个细胞在下一秒因得到充足的电量而变为/保持放电状态。
若 k > 3,则这个细胞在下一秒因过载而变为/保持平静状态。
Bob 观察了这些细胞现在所处于的状态。他想预测 t 秒后这些细胞的状态。

输入

第一行 3 个正整数 n, m, t。
接下来 n 行,每行一个长度为 m、只包含 01 的字符串,表示每个细胞的初
始状态。‘1’ 表示放电状态,‘0’ 表示平静状态。

输出

输出 n 行,每行一个长度为 m、只包含 01 的字符串,表示每个细胞的 t 秒
后的状态。‘1’ 表示放电状态,‘0’ 表示平静状态。

输入样例

4 4 4
0100
0010
1110
0000

输出样例

0000
0010
0001
0111

说明

对于 100% 的数据,1 ≤ n, m ≤ 100, 0 ≤ t ≤ 100。

解题思路:

直接模拟即可

代码:

#include<cstdio>
using namespace std;
int n,m,t,sum,a[3][105][105];
int const dx[8]={1,1,0,-1,-1,-1,0,1};
int const dy[8]={0,1,1,1,0,-1,-1,-1};
int read()//读入
{char x=getchar();while (x!='0'&&x!='1') x=getchar();return x-48;
}
int main()
{scanf("%d %d %d",&n,&m,&t);for (int i=1;i<=n;++i)for (int j=1;j<=m;++j)a[0][i][j]=read();for (int tt=1;tt<=t;++tt)for (int i=1;i<=n;++i)for (int j=1;j<=m;++j){sum=0;for (int k=0;k<8;++k)sum+=a[(tt+1)&1][i+dx[k]][j+dy[k]];//寻找周围细胞if (sum<2||sum>3) a[tt&1][i][j]=0;//三种情况if (sum==3) a[tt&1][i][j]=1;if (sum==2) a[tt&1][i][j]=a[(tt+1)&1][i][j];}for (int i=1;i<=n;++i){for (int j=1;j<=m;++j)putchar(a[t&1][i][j]+48);//输出putchar(10);}
}

【模拟】Biotech相关推荐

  1. SSLOJ·Biotech【模拟】

    SSLOJ 1313 Biotech Description-- Input-- Output-- Sample Input-- Sample Output-- 说明-- 代码-- Descripti ...

  2. 初一模拟赛(5.4)

    成绩: 注:rank是有算其他dalaodalaodalao的 rankrankrank namenamename scorescorescore T1T1T1 T2T2T2 T3T3T3 T4T4T ...

  3. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  4. curl模拟post请求

    另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...

  5. flask_模拟请求post,get

    #coding:utf-8 import requestsres = requests.post(url="http://192.168.135.105:8888/",data={ ...

  6. 模拟内存计算如何解决边缘人工智能推理的功耗挑战

    模拟内存计算如何解决边缘人工智能推理的功耗挑战 How analog in-memory computing can solve power challenges of edge AI inferen ...

  7. 为放大器模拟输入模块提供可靠的输入过电压保护

    为放大器模拟输入模块提供可靠的输入过电压保护 Signal Chain Basics #159: Provide robust input overvoltage protection for amp ...

  8. 模拟Servlet本质

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

  9. 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计

    目录 Flink模拟双十一实时大屏统计 需求 数据 编码步骤: 1.env 2.source 3.transformation 4.使用上面聚合的结果,实现业务需求: 5.execute 参考代码 实 ...

最新文章

  1. Powercli的一些使用案例
  2. C++ primer三章二节标准库类型string
  3. [深度学习-原理]BP神经网络
  4. OpenCV3学习(9.2)连通域分析函数详解connectedComponents()和connectedComponentsWithStats()
  5. linux中物理cpu、逻辑cpu以及core、vcore
  6. 1.8带有神经网络的梯度消失
  7. ImportError: cannot import name 'Graph' from 'pyecharts' 解决办法
  8. PyCharm汉化后无法打开Settings设置
  9. java二级考试真题_计算机等级考试真题2(JAVA)
  10. 转: 借助GitHub托管你的项目代码
  11. 计算机专业基础 -- Java语言相关基础知识
  12. Hyperledger Fabric教程(5)-- byfn.sh分析-docker-compose-base.yaml
  13. js 金额文本框实现代码
  14. 企业传播需要拥有的5个风险意识
  15. wpa_supplicant状态机
  16. MATLAB代码:电-气-热综合能源系统耦合优化调度 关键词:综合能源系统 优化调度 电气热耦合 主要内容:代码主要做的是一个考虑电网、热网以及气网耦合调度的综合能源系统优化调度模型
  17. 猫盘onespace x3p系统使用
  18. 光速掌握史上最全--计算机数制转换
  19. 使Android Home键,Power键等按钮失效
  20. element el-table 计算指定列

热门文章

  1. redis 公网ip访问_Redis很重要,怎么只允许指定IP访问?
  2. python tablewidget 颜色_QT中,QTableView鼠标移动到item上时该item所在行的背景颜色变成其他颜色,这要怎么实现...
  3. java static new_java静态类new的对象是否能被回收?
  4. leetcode968. 监控二叉树
  5. 7-4 N皇后 (28 分)(思路+详解)
  6. [C++11]独占的智能指针unique_ptr的初始化和使用
  7. LeetCode 92反转链表||-中等
  8. SpringApplication.run做了哪些事情
  9. ubtunu打开firefox_ubuntu中火狐浏览器问题(也许是)
  10. matlab如何使用cu文件,Matlab编译cuda的.cu文件