HDOJ HDU 1057 A New Growth Industry
来源:互联网 发布:雷锋源越狱软件 编辑:程序博客网 时间:2024/06/15 21:25
HDOJ 1057 A New Growth Industry
题目
点击查看 HDOJ 1057 A New Growth Industry
分类
模拟
题意
模拟细胞生长
用 20 * 20 的方格模拟 培养皿
规则由 16个整形的数组 D 定义
每个单元 有 0 - 3 三种形态 如图
当前单元数字 加上 上下左右单元数字 之和 为 sum
单元当前数字 + D[sum] > 3 则 为3 如果 < 0 则为 0 否则 为 其
给出当当前培养皿 求 n次后的培养皿 数字 按上图所示输出
题解
按题意模拟即可
代码
#include <iostream>#include <cstring>#define max 20char crt[4] = {'.','!','X','#'};int cb[max][max];int ca[max][max];int d[max];using namespace std;int output(int cur[][max]);int simulation(int before[][max],int after[][max]);int main(){ int n,m; cin >> n; while(n--) { memset(cb,0,sizeof(cb)); memset(ca,0,sizeof(ca)); cin >> m; for(int i = 0;i < 16;i++) cin >> d[i]; for(int i = 0;i < max;i++) for(int j = 0;j < max;j++) cin >> cb[i][j]; for(int i = 0;i < m;i++) { if(i % 2 == 0) simulation(cb,ca); else simulation(ca,cb); } if(m % 2 == 0) output(cb); else output(ca); if(n > 0) cout << endl; } return 0;}int output(int cur[][max]){ for(int i = 0;i < max;i++) { for(int j = 0;j < max;j++) { switch(cur[i][j]) { case 0 : cout << crt[0]; break; case 1 : cout << crt[1]; break; case 2 : cout << crt[2]; break; case 3 : cout << crt[3]; break; } } cout << endl; } return 0;}int simulation(int before[][max],int after[][max]){ int sum,rs; for(int i = 0;i < max;i++) for(int j = 0;j < max;j++) { sum = 0; sum += (i > 0 ? before[i-1][j] : 0); sum += (j > 0 ? before[i][j-1] : 0); sum += (i < (max-1) ? before[i+1][j] : 0); sum += (j < (max-1) ? before[i][j+1] : 0); sum += before[i][j]; rs = before[i][j] + d[sum]; if(rs > 3) rs = 3; if(rs < 0) rs = 0; after[i][j] = rs; } return 0;}
阅读全文
0 0
- HDOJ HDU 1057 A New Growth Industry
- hdu 1057 A New Growth Industry
- HDU ACM 1057 A New Growth Industry 简单模拟
- HDU 1051 A New Growth Industry
- A New Growth Industry
- zoj1051 A New Growth Industry
- ZOJ1051 A New Growth Industry
- JOJ1086: A New Growth Industry
- ZOJ1051 A New Growth Industry
- ZOJ1051 A New Growth Industry
- Zoj1051 A New Growth Industry
- 杭电 hdu 1057. A New Growth Industry
- 【优秀阅读题】HDU 1057 ——A New Growth Industry
- zoj1051--------A New Growth Industry 细菌~
- ZOJ 1051 A New Growth Industry
- ZOJ 1051 A New Growth Industry
- ZOJ 1051 A New Growth Industry
- zoj 1051 A New Growth Industry
- archlinux安装(2)
- 简单学习TextView
- AJAX异步刷新-----判断用户名是否可用,预览头像
- SpringMVC HandlerMethodArgumentResolver解读
- execScript调用其他页面方法并传值-ApiCloud学习笔记
- HDOJ HDU 1057 A New Growth Industry
- kmp算法初识
- Python3学习(26)--类的量身定制
- 用朴素查找算法实现串的查找(男朋友算法)
- 这个支付宝电脑端转账怎么还要5毛钱手续费呀?
- C#
- Lua 在VS上的环境配置(一)
- IE浏览器使用原生JS操作ajax无效
- JS预处理