이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#https://dmoj.ca/problem/coci20c1p1
import sys
def num_steps(i, j, grid):
total = 0
while True:
total = total + 1
if grid[i][j] == 'x':
return total
elif grid[i][j] == 'o' or grid[i][j] == '.':
return 0
elif grid[i][j] == '^':
i = i - 1
elif grid[i][j] == 'v':
i = i + 1
elif grid[i][j] == '>':
j = j + 1
elif grid[i][j] == '<':
j = j - 1
r, c = map(int, input().split())
ocean = [list(input()) for _ in range(r)]
for i in range(r):
for j in range(c):
if ocean[i][j] == 'o':
east = num_steps(i, j + 1, ocean)
west = num_steps(i, j - 1, ocean)
north = num_steps(i - 1, j, ocean)
south = num_steps(i + 1, j, ocean)
winds = [east, north, south, west]
winds_alphabet = ['E', 'N', 'S', 'W']
if any(winds):
print(':)')
max_steps = max(winds)
for i in range(len(winds)):
if winds [i] == 0:
winds[i] = max_steps + 1
best_wind = '?'
best_wind = winds_alphabet[winds.index(min(winds))]
print(best_wind)
else:
print(':(')
sys.exit()
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |