Skip to content

M12560: 生存游戏

matrices, http://cs101.openjudge.cn/pctbook/M12560/

cpp
#include<bits/stdc++.h>
using namespace std;
const int N=105;
int n,m,cnt;
bool a[N][N];
int main(){
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++)
            scanf("%d",&a[i][j]);
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cnt=a[i-1][j-1]+a[i-1][j]+a[i-1][j+1]+a[i][j-1]+a[i][j+1]+a[i+1][j-1]+a[i+1][j]+a[i+1][j+1];
            if(a[i][j]){
                if(cnt<2 || cnt>3)
                    printf("0 ");
                else
                    printf("1 ");
            }
            else{
                if(cnt==3)
                    printf("1 ");
                else
                    printf("0 ");
            }
        }
        printf("\n");
    }
    return 0;
}