문제 링크 : 늑대와 양
울타리를 최소로 설치해야하는 줄 알았는데 그런 제약이 없었다. 그래서 .을 만났을 경우 모두 울타리로 바꿔주었다.
import sys
r,c=map(int,input().split())
maps=[list([p for p in sys.stdin.readline().strip()]) for _ in range(r)]
dx=[0,0,-1,1]
dy=[1,-1,0,0]
result=False
for i in range(r):
for j in range(c):
if maps[i][j]=='W': #늑대일때
for k in range(4):
nx=i+dx[k]
ny=j+dy[k]
if nx<0 or nx>=r or ny<0 or ny>=c:
continue
if maps[nx][ny]=='S':
result=True
break
elif maps[i][j]=='S': #양일때
continue
else: #.일때
maps[i][j]='D'
if result:
print(0)
else:
print(1)
for i in maps:
print(''.join(i))