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;
}