289. Game of Life LeetCode
来源:互联网 发布:ubuntu如何使用cd命令 编辑:程序博客网 时间:2024/05/01 22:17
题意:生命游戏,给出你这一秒的生物存活情况,和游戏规则。让你给出下一秒生物存活的情况。规则1:如果一个活细胞周围只有1个或者1个以下的活细胞,那么这个细胞下一秒将会死。规则2:如果一个活细胞周围有2个或者3个活细胞,那么这个细胞下一秒将会活着。规则3:如果一个活细胞周围有4个或者4个以上活细胞,那么这个细胞下一秒将会死。规则4:如果一个死细胞周围有3个活细胞,那么这个死细胞下一秒将会活过来。
题解:直接模拟。
class Solution {public: void gameOfLife(vector<vector<int>>& board) { int dir[8][2] = {{0,1},{0,-1},{1,0},{-1,0},{1,1},{-1,1},{1,-1},{-1,-1}}; int n = board.size(); int m = board[0].size(); for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { int count1 = 0; for(int k = 0; k < 8; k++) { int tx = i + dir[k][0]; int ty = j + dir[k][1]; if(tx < 0 || ty < 0 || tx >= n || ty >= m) continue; if(board[tx][ty] == 1 || board[tx][ty] == 3 || board[tx][ty] == 4 || board[tx][ty] == 5) count1++; } if(count1 < 2 && board[i][j] == 1) board[i][j] = 3; else if(count1 >= 2 && count1 <= 3 && board[i][j] == 1) board[i][j] = 4; else if(count1 > 3 && board[i][j] == 1) board[i][j] = 5; if(count1 == 3 && board[i][j] == 0) board[i][j] = 6; } } for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { if(board[i][j] == 3) board[i][j] = 0; else if(board[i][j] == 4) board[i][j] = 1; else if(board[i][j] == 5) board[i][j] = 0; else if(board[i][j] == 6) board[i][j] = 1; } } }};
0 0
- [leetcode] 289. Game of Life
- 289. Game of Life LeetCode
- leetcode 289. Game of Life
- [LeetCode]289. Game of Life
- LeetCode 289. Game of Life
- LeetCode *** 289. Game of Life
- 【leetcode】289. Game of Life
- LeetCode 289. Game of Life
- LeetCode-289.Game of Life
- [Leetcode]289. Game of Life
- LeetCode--289. Game of Life
- [leetcode] 289. Game of Life
- [LeetCode] 289. Game of Life
- [leetcode]289. Game of Life
- [LeetCode]289. Game of Life
- [LeetCode]289. Game of Life
- 【LeetCode】 289. Game of Life
- LeetCode 289. Game of Life
- 【 bzoj 2661 】 [BeiJing wc2012]连连看 - 拆点费用流
- RGW Create bucket
- BZOJ-2190 仪仗队 数论+欧拉函数(线性筛)
- 为图片添加水印图片
- yum 安装常用软件
- 289. Game of Life LeetCode
- 南山- 旅游景点 - 小宝的家 - 和讯博客
- Android深入理解WebView——上
- 300. Longest Increasing Subsequence LeetCode
- C语言中,为什么结构体后面经常定义一个空数组
- 解决npm安装某些工具过慢问题
- 2879: [Noi2012]美食节
- 网上商城——ApplicationContext.xml
- 概率统计基础(2)方差、标准差