首页 > 其他分享 >1.8.15细菌的繁殖与扩散

1.8.15细菌的繁殖与扩散

时间:2023-07-24 11:56:59浏览次数:36  
标签:10 15 int 培养皿 1.8 数组 繁殖 扩散 细菌

1.题目意思

描述

在边长为9的正方形培养皿中,正中心位置有m个细菌。假设细菌的寿命仅一天,但每天可繁殖10个后代,而且这10个后代,有两个分布在原来的单元格中,其余的均匀分布在其四周相邻的八个单元格中。求经过n(1≤n≤4)天后,细菌在培养皿中的分布情况。

输入

输入为两个整数,第一个整数m表示中心位置细菌的个数(2 ≤ m ≤ 30),第二个整数n表示经过的天数(1 ≤ n ≤ 4)。输出

输出

九行九列整数矩阵,每行的整数之间用空格分隔。整个矩阵代表n天后细菌在培养皿上的分布情况。

样例输入

2 1

样例输出

0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 2 2 2 0 0 0
0 0 0 2 4 2 0 0 0
0 0 0 2 2 2 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
2.题目意思总结
从题目可知,在9*9的空间里有m个细菌,每一次繁殖,周围的八个单元格都加上中间格子现有的(上一次繁殖后)细菌个数,中间格子的细菌数量扩大到原来的2倍,以此类推。

3.解题思路
(1)建立两个数组及一些辅助变量,并输入
(2)第一个数组用于保存上一次繁殖的细菌个数,第二个数组根据第一个数组的数据计算繁殖后个数,并将数据保存在第一个数组中,以完成一次繁殖。
(3)输出数组,注意空格和换行。
4.代码实现

#include<bits/stdc++.h>
using namespace std;
int main(){
  int a[10][10],b[10][10],n;
  cin>> a[5][5]>> n;
  b[5][5]=a[5][5];
  for(int i=1;i<=9;i++){
    for(int k=1;k<=9;k++){
      if(i!=5 or k!=5){//将数组中心赋值为m,其余赋值为0
        a[i][k]=0;
        b[i][k]=0;
      }
    }
  }
  for(int j=1;j<=n;j++){
    for(int i=1;i<=9;i++){
      for(int k=1;k<=9;k++){//计算每一次繁殖数据
        if(a[i][k]>0){
          b[i][k]=b[i][k]+a[i][k];
          b[i-1][k-1]=b[i-1][k-1]+a[i][k];
          b[i-1][k]=b[i-1][k]+a[i][k];
          b[i-1][k+1]=b[i-1][k+1]+a[i][k];
          b[i][k-1]=b[i][k-1]+a[i][k];
          b[i][k+1]=b[i][k+1]+a[i][k];
          b[i+1][k-1]=b[i+1][k-1]+a[i][k];
          b[i+1][k]=b[i+1][k]+a[i][k];
          b[i+1][k+1]=b[i+1][k+1]+a[i][k];
        }
      }
    }
    for(int i=1;i<=9;i++){//将每一次繁殖数据同步至另一个数组
      for(int k=1;k<=9;k++){
        a[i][k]=b[i][k];
      }
    }
  }
  for(int i=1;i<=9;i++){
    for(int k=1;k<=9;k++){//输出
      cout<< a[i][k]<<" ";
    }
    cout<< endl;
  }
  return 0;
}

标签:10,15,int,培养皿,1.8,数组,繁殖,扩散,细菌
From: https://www.cnblogs.com/365760dqz/p/17576856.html

相关文章

  • 【题解】Educational Codeforces Round 151(CF1845)
    VP战报:1h过了A,B,C,D然后被E罚坐1hrank:210th题解只有A-EA.ForbiddenInteger题目描述:你需要构造一个正整数序列,满足:对于\(i\),\(a_i\lek\)且\(a_i\not=x\)。\(\suma_i=n\)。如无法构造,输出NO,否则输出YES后,输出序列长度与序列中的每一个数。多测\(t\le......
  • 115.STL中的multimap
    115.STL中的multimap1.multimap的基本性质multimap容器是和map容器相似的关联式容器,所谓“相似”,是指multimap容器具有和map容器相同的特性,即multimap容器也存储pair<constK,T>类型的键值对(其中K表示键的类型,T表示值的类型),其中各个键值对的键的值不能被修改;并且,该容器也会自行......
  • JVAA springboot 项目启动后,localhost加端口可以访问,但是外网IP不行// OCPP KYOHOON
     现象javaspringboot项目启动后,localhost(或127.0.0.1)加端口可以访问,但是使用外网IP却无法访问。   原因及解决方法springboot的配置文件(yml或properties)中缺少server.address的设置。解决方法:在springboot的配置文件中增加server.address的配置。yml配......
  • 7.15-7.22,第四周
    本周日我观看了那是HTTP的数据请求格式和相应数据。了解HTTP的运行规则和使用方法。周一我连接了Twocats的学习了如何连接TOMBCAT的的一些规律,一方面为以后对Eclipse这个软件的操作。我今天周二,发现我学习的进度太慢了,我决定先把JAVAWEB学习放到一边学习那个大数据和Linux系统......
  • macos 安装java1.8
    如何在macOS上安装Java1.8作为一名经验丰富的开发者,我很乐意教会你如何在macOS上安装Java1.8。下面是整个过程的步骤,并附带了每一步需要执行的代码和注释。步骤概览步骤描述步骤1确认系统上是否已经安装了Java步骤2下载并安装JavaDevelopmentKit(J......
  • 零一PPT学习_P15/P31借用图片做出高质量的PPT
    一、如何给PPT配图1、根据名词。根据文本中的名词寻找图片2、传达情绪。图片传达情绪可将文字当中关键字进行具象的联想,比如破灭-落叶,场景化从侧面突出情绪。3、提升设计感-抽象文字或者无法理解的文字。通过观赏性图片提升设计感。......
  • Day15-注解
    注解使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符使用,用于修饰它支持的程序元素三个基本的Annotation@Override:限定某个方法,是重写父类方法,该注解只能用于方法@Deprecated:用于表示某个程序元素(类,方法等)已过时@SuppressWarnings:抑制编译器警告......
  • Uncaught AssertionError: Assertion failed. See https://openlayers.org/en/v6.15.1
    openlayers点击具体错误Cannotfitemptyextentprovidedas geometry.这个错误信息意味着OpenLayers在尝试使用一个空的范围作为几何图形时出现了问题。范围(extent)表示几何图形覆盖的边界框或区域,它由四个坐标值组成:最小经度、最小纬度、最大经度和最大纬度。当范围没有......
  • VS2015项目前有个蓝色的锁
     刚从svn上chenkout的项目,打开一直有个蓝色的锁,可以生成,可以运行,正常的页面修改了也有蓝色的锁,还是第一次遇到。原因不清楚,后来通过单个项目重新拿文件就好了。整个文件夹checkout会出现这个问题。在此记录下。......
  • Atcoder Regular Contest 154 E - Reverse and Inversion
    只要你发现是诈骗题就好办了。不要像我那样傻傻地瞪一个小时然后才发现那俩sigma里的东西相减是有性质的。先考虑计算单个\(f(p)\),一眼的树状数组……吗?考虑最终答案式子里\(i\)的系数:\(\sum\limits_{j<i}[p_j>p_i]-\sum\limits_{j>i}[p_j<p_i]\),因为\(\sum\limits_{j<i}[p......