結果
| 問題 |
No.340 雪の足跡
|
| コンテスト | |
| ユーザー |
convexineq
|
| 提出日時 | 2021-01-14 08:12:31 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,230 bytes |
| コンパイル時間 | 249 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 109,952 KB |
| 最終ジャッジ日時 | 2024-11-23 20:25:46 |
| 合計ジャッジ時間 | 8,732 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 5 |
| other | AC * 26 WA * 6 |
ソースコード
import sys
readline = sys.stdin.readline
w,h,n = map(int,input().split())
b1 = [[0]*w for _ in range(h)]
b2 = [[0]*h for _ in range(w)]
for _ in range(n):
m = int(readline())
t = list(map(int,input().split()))
for i in range(m):
x,y = t[i],t[i+1]
if x > y: x,y = y,x
if abs(x-y) < w:
b1[x//w][x%w] += 1
b1[y//w][y%w] -= 1
else:
b2[x%w][x//w] += 1
b2[y%w][y//w] -= 1
for i in range(h):
for j in range(1,w):
b1[i][j] += b1[i][j-1]
for j in range(w):
for i in range(1,h):
b2[j][i] += b2[j][i-1]
from collections import deque
q = deque([(0,0)])
b = [[-1]*w for _ in range(h)]
b[0][0] = 0
while q:
vi,vj = q.popleft()
d = b[vi][vj]
if vj and b1[vi][vj-1] and b[vi][vj-1]==-1:
b[vi][vj-1] = d+1
q.append((vi,vj-1))
if vj+1<w and b1[vi][vj] and b[vi][vj+1]==-1:
b[vi][vj+1] = d+1
q.append((vi,vj+1))
if vi and b2[vj][vi-1] and b[vi-1][vj]==-1:
b[vi-1][vj] = d+1
q.append((vi-1,vj))
if vi+1<w and b2[vj][vi] and b[vi+1][vj]==-1:
b[vi+1][vj] = d+1
q.append((vi+1,vj))
print(b[h-1][w-1] if b[h-1][w-1] != -1 else "Odekakedekinai..")
convexineq