生命游戏
Time Limit: 1000/1000 MS (Java/Others) Memory Limit:65536/65536 K (Java/Others)
Problem Description:生命游戏是英国数学家约翰·何顿·康威在1970年发明的细胞自动机。这是一个零玩家游戏,它包括一个无限大的二维矩形世界,这个世界是由无数小的方格组成。每个方格中居住着一个活着的或死了的细胞。细胞会受它的邻居(周围的8个方格)中的细胞影响,在每一个时刻之后发生变化,或者死去、或者复活。
冥冥之中,每一个格子中的细胞在每一个时刻的变化,都遵循以下规则:
1. 对任何一个活着的细胞,如果它的邻居中活着的细胞少于2个,那么它在下一个时刻就会因孤独而死去。
2. 对任何一个活着的细胞,如果它的邻居中活着的细胞正好是2个或3个,那么它在下一个时刻就会继续活着。
3. 对任何一个活着的细胞,如果它的邻居中活着的细胞多于3个,那么它在下一个时刻就会因拥挤而死去。
4. 对任何一个死了的细胞,如果它的邻居中活着的细胞刚好是3个,那么它在下一个时刻就会复活。
在每一个时刻,这个无上法则同时发生在所有格子的活着或死了的细胞,没有时间先后之分。而其结果,也仅会在下一个时刻体现。游戏的玩家只能构造一个初始状态,然后观察这个世界的变化。高级玩家精心构造初始状态,能够演绎出一个非常精彩的世界。
你的任务是编写一个程序,模拟有限大小的世界,从标准输入读取初始时刻每个方格中细胞的状态,然后输出在下一个时刻每个方格中细胞的状态。
输入
程序从标准输入读取数据,数据的第1行是空格分隔的两个数字,表示后续数据的行数和每一行的列数。接下来的每一行中,使用点号(.)来表示死了的细胞,星号(*)来表示活着的细胞。关于邻居的说明:每个细胞的8个邻居位于它的上、下、左、右、左上、左下、右上、右下。由于我们只模拟有限大小的世界,所以处于边界的细胞,其邻居数量会相应减少。比如,在下面的世界中,最左上的细胞,它的邻居只有3个,其中1个是活着的;第2行第1列的细胞,它的邻居只有5个,其中1个是活着的;而中间第2行第5列的细胞,邻居则是有8个,其中2个是活着的。

输出
经过程序处理后,输出下一个时刻每个方格中细胞的状态,该数据具有同样的格式。

样例输入

样例输出

Hint

温馨提示
请尽量在全场考试结束10分钟前调试程序,否则由于密集排队提交,可能查询不到编译结果 
点击“调试”亦可保存代码
编程题可以使用本地编译器,此页面不记录跳出次数

#include<iostream>
#include<string>
#include<vector>
using namespace std;int main()
{int m,n;cin>>m>>n;vector<string> cell(m);vector<string> acell(m);for(int i=0;i<m;i++){cin>>cell[i];}vector<string> bcell(m+2);for(int i=0;i<n+2;i++){bcell[0].push_back('.');bcell[m+1].push_back('.');}for(int i=1;i<m+1;i++){bcell[i].push_back('.');for(int j=0;j<n;j++)bcell[i].push_back(cell[i-1][j]);bcell[i].push_back('.');}for(int i=1;i<m+1;i++){for(int j=1;j<n+1;j++){int count=0;if(bcell[i-1][j-1]=='*') count++;if(bcell[i][j-1]=='*') count++;if(bcell[i+1][j-1]=='*') count++;if(bcell[i-1][j]=='*') count++;if(bcell[i+1][j]=='*') count++;if(bcell[i-1][j+1]=='*') count++;if(bcell[i][j+1]=='*') count++;if(bcell[i+1][j+1]=='*') count++;if(count==3) acell[i-1].push_back('*');else if(count==2&&bcell[i][j]=='*') acell[i-1].push_back('*');else acell[i-1].push_back('.');}}for(int i=0;i<m;i++){cout<<acell[i]<<endl;}
}

2016迅雷校园招聘笔试题(1)相关推荐

  1. 2014迅雷校园招聘笔试题(C++)

    2014迅雷校园招聘笔试题(C++)     这是迅雷在深圳那边招聘的笔试题!!也快到我们武汉来面试笔试了吧~~ 时间:2013-9-7 地点:北京大学深圳研究生院 技术类别:C++开发 说明:图片是 ...

  2. 十月下旬腾讯,网易游戏,百度盛大迅雷校园招聘笔试题集锦(10.25)

    十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦 引言 笔试啊,笔试,面试啊,面试,找工作啊,找工作.此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网 ...

  3. 十月下旬腾讯 网易游戏 百度迅雷校园招聘笔试题集锦 第271 330题

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 十月下旬 ...

  4. 2012迅雷校园招聘笔试题——厦门大学站

    迅雷厦门大学校园招聘C++岗位,笔试分为主观题和客观题:客观题就是选择和填空.都是些C++的基础知识. 客观题两道: memcpy和memmove的区别 ANIC库中为什么有相似的函数 实现memcp ...

  5. 2014迅雷校园招聘笔试题答案

    目前暂时只做了选择题部分,不保证没有错误,仅供参考,祝愿大家和我今年都能找到满意的工作哦~ 选择题答案部分 单选题 1.B 2.A p为指针,32位地址的指针大小为4个字节 3.D str为数组,勿忘 ...

  6. 2014迅雷校园招聘笔试题

    温馨提示:客观题和主观题得分都要超过一定标准,才能获得面试资格,如果一项得分很高,而另外一项得分很低,可能无法获得面试资格. 一.单选题(20题,每题2分) 1.有变量int i = 0; int a ...

  7. [历年IT笔试题]2014迅雷校园招聘笔试题

  8. 2012九月十月腾讯,网易游戏,百度最新校园招聘笔试题

    十月下旬腾讯,网易游戏,百度最新校园招聘笔试题集锦(第271-330题) 引言 此文十月百度,阿里巴巴,迅雷搜狗最新面试十一题已经整理了最新的面试题70道,本文依次整理腾讯,网易游戏,百度等各大公司最 ...

  9. 2014 WAP校园招聘笔试题

    2014 WAP校园招聘笔试题 Problem's Link:   http://www.doc88.com/p-6751117015483.html WAP公司笔试题 We are planning ...

最新文章

  1. java渐变色字体生成器_java阴影文字效果怎么做?渐变的怎么做?
  2. 计算机网络---物理层
  3. 正则表达式的常用操作符
  4. 数字IC验证学习(一)
  5. WordList02
  6. HTML 部分常用属性、组成属性|...超链接、路径、锚点、列表、滚动、URL编码、表格、表单、GET和POST
  7. 原生js简单实现双向数据绑定原理
  8. 网页传世服务器端,传世服务端文件分析
  9. Xcode9 2 编译在iOS8 1 系统上图片显示异常
  10. IT项目管理-----给年轻工程师的十大忠告
  11. 字符串的首地址做形参不能将变化传递回主函数
  12. CentOS 命令登录MySQL时,报错ERROR 1045 (28000) Access denied for user root
  13. 操作系统实验报告 实验3存储管理实验(答案全)
  14. html开始游戏如何打开,dnf游戏进不去 点击开始-运行,输入CMD
  15. 安全漏洞防御(1)如何防止被拖库
  16. 电大计算机原理及应用,电大《ERP原理与应用》试题及答案.doc
  17. 敏捷DoD和DoR的多种形态
  18. TLF 使用详解!!
  19. 1024购书狂欢节,优惠券送给有需要的伙伴们
  20. python爬取今日头条专栏_[python3]今日头条图片爬取

热门文章

  1. 3dgis java,三维GIS研发思路
  2. Java多线程面试题之如何让主线程等子线程执行完之后再执行
  3. OpenWrt学习总结(2)编译OpenWrt过程中整理的软件包下载网址
  4. GDB苹果网页一键打包工具(IOS,IPA,苹果应用网页打包,WINDOWS平台)
  5. 小程序页面绑定的点击事件不能触发
  6. 现代C++改变了什么
  7. Canoe和Canalyzer的Panel Designer界面卡住no responding
  8. 机房建设必须知道的四大要求
  9. 记录一个海信电视(VIDAA)进入开发者方式
  10. 使用element-plus中的ElMessage样式出错