백준 문제풀이
[C]늑대와 양 16956 문제 풀이
탱탱구리뱅뱅
2023. 8. 1. 20:16
반응형
몰입캠프 다녀온 후 다시 재개하는 백준 하루 한 문제 챌린지입니다.
오늘은 16956 늑대와 양 문제풀이를 해보려고 합니다.
늑대가 위 아래로만 움직일 수 있으니까 좌우 양옆에 늑대가 없으면 성공이 아닐까?라는 단순한 생각으로 접근을 했습니다.
#include<stdio.h>
int main (void)
{
char area [502][502]={0,};
int row=0,col=0,isdone=0;
scanf("%d %d",&row,&col);
for(int i =1; i <= row; i++)
{
for(int j=1; j <= col ; j++)
{
scanf(" %c",&area[i][j]);
}
}
for(int i =1; i <= row; i++)
{
for(int j=1; j <= col && !isdone ; j++)
{
if(area[i][j]=='S')
{
if(i>1 && area[i-1][j]=='.')//위가 .이면 D로 바꿔주자.
area[i-1][j]='D';
if (i < row && area[i+1][j]=='.') //아래 처리
area[i+1][j]='D';
if (j>1 && area[i][j-1]=='.')//왼쪽
area[i][j-1]='D';
if(j < col && area[i][j+1]=='.')//오른쪽
area[i][j+1]='D';
if((i>1 && area[i-1][j]=='W')|| //위
(i < row && area[i+1][j]=='W')|| //아래
(j>1 && area[i][j-1]=='W')|| //왼쪽
(j < col && area[i][j+1]=='W') ) //오른쪽
{
printf("0");
isdone=1;
}
}
}
}
if(!isdone)
{
printf("1\n");
}
for(int i =1; i <= row&&!isdone; i++)
{
for(int j=1; j <= col ; j++)
{
printf("%c",area[i][j]);
}
printf("\n");
}
}
그랬더니 맞았다네요...정말 별 거 없는 문제였습니다.
반응형