16956번: 늑대와 양
크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게
www.acmicpc.net
코드
r, c = map(int, input().split())
map_data = []
for i in range(r):
map_data.append(list(input()))
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
for i in range(r):
for j in range(c):
if map_data[i][j] == 'W':
for d in range(4):
nx = i+dx[d]
ny = j+dy[d]
if 0 <= nx < r and 0 <= ny < c:
if map_data[nx][ny] == 'S':
print(0)
exit()
if map_data[nx][ny] == '.':
map_data[nx][ny] = 'D'
print(1)
for i in range(r):
print(*map_data[i], sep='')
울타리를 최소로 설치하여 늑대를 막는 것이 아니므로 풀이는 간단하다.
늑대들의 위치를 찾아서 사방을 울타리로 둘러싸버린다. 만약 인접한 칸에 양이 있다면 울타리로 늑대를 막을 수 없기 때문에 0을 출력하고 종료시킨다.
사실 다 풀고 나서 다른 풀이를 찾아보니 모든 빈칸을 울타리로 바꿔주어도 되는 것 같다. 처음에 BFS, 다익스트라 이런 알고리즘도 생각해봤지만 울타리 개수 제한이 없다는 문제의 조건을 보니 딱히 알고리즘이 필요하지 않았던 문제....
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 백준 3584번 가장 가까운 공통 조상 (0) | 2024.02.21 |
---|---|
[Python/파이썬] 백준 21921번 블로그 (0) | 2023.02.16 |
[Python/파이썬] 프로그래머스 연속 부분 수열 합의 개수 (0) | 2023.01.10 |
[Python/파이썬] 프로그래머스 귤 고르기 (0) | 2023.01.06 |
[Python/파이썬] 2018 KAKAO BLIND RECRUITMENT [3차] n진수 게임 (1) | 2022.12.27 |
16956번: 늑대와 양
크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게
www.acmicpc.net
코드
r, c = map(int, input().split()) map_data = [] for i in range(r): map_data.append(list(input())) dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] for i in range(r): for j in range(c): if map_data[i][j] == 'W': for d in range(4): nx = i+dx[d] ny = j+dy[d] if 0 <= nx < r and 0 <= ny < c: if map_data[nx][ny] == 'S': print(0) exit() if map_data[nx][ny] == '.': map_data[nx][ny] = 'D' print(1) for i in range(r): print(*map_data[i], sep='')
울타리를 최소로 설치하여 늑대를 막는 것이 아니므로 풀이는 간단하다.
늑대들의 위치를 찾아서 사방을 울타리로 둘러싸버린다. 만약 인접한 칸에 양이 있다면 울타리로 늑대를 막을 수 없기 때문에 0을 출력하고 종료시킨다.
사실 다 풀고 나서 다른 풀이를 찾아보니 모든 빈칸을 울타리로 바꿔주어도 되는 것 같다. 처음에 BFS, 다익스트라 이런 알고리즘도 생각해봤지만 울타리 개수 제한이 없다는 문제의 조건을 보니 딱히 알고리즘이 필요하지 않았던 문제....
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 백준 3584번 가장 가까운 공통 조상 (0) | 2024.02.21 |
---|---|
[Python/파이썬] 백준 21921번 블로그 (0) | 2023.02.16 |
[Python/파이썬] 프로그래머스 연속 부분 수열 합의 개수 (0) | 2023.01.10 |
[Python/파이썬] 프로그래머스 귤 고르기 (0) | 2023.01.06 |
[Python/파이썬] 2018 KAKAO BLIND RECRUITMENT [3차] n진수 게임 (1) | 2022.12.27 |