QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#74817 | #4231. Rafting Trip | infinityf1re | WA | 11ms | 8540kb | Python3 | 1.8kb | 2023-02-04 09:51:00 | 2023-02-04 09:51:03 |
Judging History
answer
global d_sights
d_sights = {}
def trace(arr, n, m, i, j) :
visited = set([])
direction = {"^": (-1, 0), ">": (0, 1), "v": (1, 0), "<": (0, -1), "#": (0, 0)}
sights = set([])
x = i
y = j
while 0 <= x < n and 0 <= y < m and arr[x][y] in direction and (x, y) not in visited:
visited.add((x, y))
if (x, y) in d_sights :
# print(i, j, x, y, sights)
sights = sights.union(d_sights[(x, y)])
d_sights[x, y] = sights
return
# print(i, j, x, y, sights)
if arr[x][y] == "#" :
sights.add((x, y))
break
if x -1 >= 0 and arr[x - 1][y] == "#" and arr[x][y] != "^" :
sights.add((x-1, y))
if x + 1 < n and arr[x + 1][y] == "#" and arr[x][y] != "v" :
sights.add((x+1, y))
if y - 1 >= 0 and arr[x][y - 1] == "#" and arr[x][y] != ">" :
sights.add((x, y-1))
if y + 1 < m and arr[x][y + 1] == "#" and arr[x][y] != "<":
sights.add((x, y+1))
temp_x = x + direction[arr[x][y]] [0]
temp_y = y + direction[arr[x][y]] [1]
x, y = temp_x, temp_y
d_sights[(i, j)] = sights
return
def solve(arr, n, m) :
for i in range(n) :
for j in range(m) :
trace(arr, n, m, i, j)
return
import random
if __name__ == "__main__" :
n, m = map(int, input().split())
arr = []
for i in range(n) :
arr.append(list(input().strip()))
solve(arr, n, m)
# print(d_sights)
mx = 0
for i in d_sights:
mx = max(mx, len(d_sights[i]))
# print(i, d_sights[i], mx)
print(mx)
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 11ms
memory: 8540kb
input:
5 6 v<<<#v v#v<.> >>v<<< ..v##^ #<<<.^
output:
3
result:
wrong answer 1st lines differ - expected: '4', found: '3'