結果
問題 | No.331 CodeRunnerでやれ |
ユーザー |
|
提出日時 | 2016-10-27 00:19:50 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 411 ms / 5,000 ms |
コード長 | 1,135 bytes |
コンパイル時間 | 52 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 25,232 KB |
平均クエリ数 | 409.06 |
最終ジャッジ日時 | 2024-07-17 00:34:45 |
合計ジャッジ時間 | 5,774 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 16 |
ソースコード
import sys sys.setrecursionlimit(10000) def communicate(S): print S sys.stdout.flush() T = raw_input() if T == '20151224': goal() return int(T) if T.isdigit() else T def goal(): print 'F' sys.stdout.flush() S = raw_input() while S != "Merry Christmas!": print 'F' sys.stdout.flush() S = raw_input() exit() MAX = 20151224 visited = set() dxdy = [(0, -1), (1, 0), (0, 1), (-1, 0)] d = 0 def dfs(x, y, d, n): if n == MAX: goal() visited.add((x, y)) if n > 0: dfs(x+dxdy[d][0], y+dxdy[d][1], d, communicate('F')) n = communicate('R') d = (d+1)%4 if n > 0 and (x+dxdy[d][0], y+dxdy[d][1]) not in visited: dfs(x+dxdy[d][0], y+dxdy[d][1], d, communicate('F')) communicate('R') n = communicate('R') d = (d+2)%4 if n > 0 and (x+dxdy[d][0], y+dxdy[d][1]) not in visited: dfs(x+dxdy[d][0], y+dxdy[d][1], d, communicate('F')) communicate('R') d = (d+1)%4 communicate('B') return dfs(0, 0, 0, int(raw_input())) communicate('F') communicate('R') n = communicate('R') dfs(0, 0, 2, n)