Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 100
- int tl[MAX][MAX];
- int tn[MAX][MAX];
- int m, n;
- int zxc(int i, int j){
- if(i <= 0 || j <= 0 || i >= m || j >= m){
- return 0;
- }
- return tl[i][j] == '*';
- }
- char asdfghjkl(int i, int j){
- int sum = 0;
- sum += zxc(i + 1, j + 1);
- sum += zxc(i + 1, j);
- sum += zxc(i + 1, j - 1);
- sum += zxc(i, j + 1);
- sum += zxc(i, j - 1);
- sum += zxc(i - 1, j + 1);
- sum += zxc(i - 1, j);
- sum += zxc(i - 1, j - 1);
- if(tl[i][j] == '*' && sum < 3){
- return '.';
- }
- if(tl[i][j] == '*' && sum > 3){
- return '.';
- }
- if(sum == 3){
- return '*';
- }
- return tl[i][j];
- }
- void qwertyuiop(){
- void * t = * tl;
- *tl = *tn;
- *tn = t;
- int i, j;
- for(i = 0; i < m; i++){
- for(j = 0; j < m; j ++){
- tn[i][j] = asdfghjkl(i, j);
- }
- }
- }
- int main()
- {
- scanf("%d %d", &m, &n);
- int i;
- char tmpstr[MAX + 1];
- for(i = 0; i < m; i++){
- scanf("%s", tmpstr);
- int j;
- for(j = 0; j < m; j++){
- tn[i][j] = tmpstr[j];
- }
- }
- while(n --){
- qwertyiop();
- }
- for(i = 0; i < m; i++){
- int j;
- for(j = 0; j < m; j++){
- printf("%c", tn[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement