반응형
몰입캠프 다녀온 후 다시 재개하는 백준 하루 한 문제 챌린지입니다.
오늘은 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");
}
}
그랬더니 맞았다네요...정말 별 거 없는 문제였습니다.
반응형
'백준 문제풀이' 카테고리의 다른 글
(C)참외밭 백준 2477번 (0) | 2023.06.28 |
---|---|
(C)백준 1244번 스위치 켜고 끄기 (0) | 2023.06.28 |
(C)백준 1002번 터렛 풀이 (0) | 2023.06.28 |
(C)백준 11332번 시간초과 C언어 풀이 (0) | 2023.06.24 |
방학동안 백준 하루 1솔 가보겟습니다. (0) | 2023.06.23 |