20250606
/*#include <stdio.h> //2차원 배열 2개 사용
int main()
{
int arr[30][30]={},str[30][30]={};
int i,j,b=0;
for (i=1; i<=25; i++)
{
for (j=1; j<=25; j++)
{
scanf("%d",&arr[i][j]);
}
printf("\n");
}
for (i=1; i<=25; i++)
{
for (j=1; j<=25; j++)
{
if (arr[i][j]==0)
{
if ((arr[i-1][j]+arr[i+1][j]+arr[i][j-1]+arr[i][j+1]+arr[i-1][j-1]+arr[i+1][j-1]+arr[i-1][j+1]+arr[i+1][j+1])==3)
{
str[i][j]=1;
}
}
}
printf("\n");
}
for (i=1; i<=25; i++)
{
for (j=1; j<=25; j++)
{
if (arr[i][j]==1)
{
if(arr[i-1][j]==1||arr[i+1][j]==1||arr[i][j-1]==1||arr[i][j+1]==1||arr[i-1][j-1]==1||arr[i+1][j-1]==1||arr[i-1][j+1]==1||arr[i+1][j+1]==1)
{
b++;
}
else if (b>=4||b<=1)
{
str[i][j]=0;
}
else if (b==2||b==3)
{
str[i][j]=1;
}
}
}
printf("\n");
}
for (i=1; i<=25; i++)
{
for (j=1; j<=25; j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include <stdio.h>
int main()
{
int arr[30][30]={},str[30][30]={};
int i,j,k,l,a;
for (i=1;i<=25;i++)
{
for (j=1;j<=25;j++)
{
scanf("%d",&arr[i][j]);
}
}
for (i=1;i<=25;i++)
{
for (j=1;j<=25;j++)
{
if (arr[i][j]==0)
{
if ((arr[i-1][j]+arr[i+1][j]+arr[i][j-1]+arr[i][j+1]+arr[i-1][j-1]+arr[i+1][j-1]+arr[i-1][j+1]+arr[i+1][j+1])==3)
{
str[i][j]=1;
}
else {
str[i][j]=0;
}
}
else if (arr[i][j]==1)
{
a=0;
for(l=1;l>=-1;l--)
{
for (k=-1;k<=1;k++)
{
if (arr[i+k][j+l]==1)
{
a++;
}
}
}
if (a>=4||a<=1)
{
str[i][j]=0;
}
else if (a==2||a==3)
{
str[i][j]=1;
}
}
}
printf("\n");
}
for (i=1;i<=25;i++)
{
for (j=1;j<=25;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}




