题目:
分析:
显然不在原来的数组上进行。借助一个
细心=高效
代码:
int main()
{
vector<vector<int> > board;
vector<vector<int> > A=board;
for(int i=0;i<A.size();i++)
{
for(int j=0;j<A[0].size();j++)
{
int all=0;
//上
if(i-1>=0&&A[i-1][j]) all++;
//下
if(i+1<=A.size()-1&&A[i+1][j]) all++;
//左
if(j-1>=0&&A[i][j-1]) all++;
//右
if(j+1<A[0].size()&&A[i][j+1]) all++;
//左上
if(i-1>=0&& j-1>=0 &&A[i-1][j-1]) all++;
//左下
if(i+1<A.size()&& j-1>=0 &&A[i+1][j-1]) all++;
//右上
if(j+1<A[0].size()&& i-1>=0 &&A[i-1][j+1]) all++;
//右下
if(j+1<A[0].size()&& i+1<=A.size()-1 &&A[i+1][j+1]) all++;
if(all<2) board[i][j]=0;
if(all>3) board[i][j]=0;
if(all==3) board[i][j]=1;
}
}
}