結果
| 問題 |
No.331 CodeRunnerでやれ
|
| コンテスト | |
| ユーザー |
matsu7874
|
| 提出日時 | 2015-12-25 01:08:58 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,936 bytes |
| コンパイル時間 | 146 ms |
| コンパイル使用メモリ | 13,056 KB |
| 実行使用メモリ | 94,396 KB |
| 平均クエリ数 | 2.47 |
| 最終ジャッジ日時 | 2024-07-16 22:46:24 |
| 合計ジャッジ時間 | 7,998 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 2 TLE * 1 -- * 13 |
ソースコード
import sys
import collections
def navi(y,x,dy,dx,path):
move = []
ty = -1
tx = -1
while path:
ty,tx = path.pop()
if y+dy == ty and x+dx==tx:
move += ['F']
elif y-dy == ty and x-dx==tx:
move += ['B']
elif y-dx == ty and x+dy==tx:
move += ['L','F']
elif y+dx == ty and x-dy==tx:
move += ['R','F']
return move
def accessible(sy,sx,ty,tx,maze):
visited = [[False for j in range(40)] for i in range(40)]
path = [[[] for j in range(40)] for i in range(40)]
visited[sy][sx] = True
dq = collections.deque()
dq.append((sy,sx))
D = [(1,0),(-1,0),(0,1),(0,-1)]
while dq:
y,x = dq.popleft()
if y==ty and x ==tx:
return path[ty][tx]
for dy,dx in D:
if 0<=y+dy<40 and 0<=x+dx<40 and not visited[y+dy][x+dx]:
dq.append((y+dy,x+dx))
visited[y+dy][x+dx] = True
path[y+dy][x+dx] = path[y][x][:]+[(y,x)]
return []
maze = [[0 for j in range(40)] for i in range(40)]
maze[19][19] = 1
posx = 19
posy = 19
dx = 0
dy = -1
tx = 19
ty = 19
path = []
move = []
while True:
s = input()
if s == 'Merry Christmas!':
exit()
s = int(s)
if s == 20151224:
print('F')
sys.stdout.flush()
elif s == 0:
maze[posy+dy][posx+dx] = -1
print('L')
sys.stdout.flush()
else:
for i in range(1,s+1):
maze[posy+dy*i][posx+dx*i] = 1
if move:
print(move.pop())
sys.stdout.flush()
else:
i = 0
j = 0
while not path:
path = accessible(posy,posx,i,j,maze)
j += 1
if j == 40:
j = 0
i += 1
move = navi(posy,posx,dy,dx,path)
print(move.pop())
sys.stdout.flush()
matsu7874