結果

問題 No.1588 Connection
ユーザー shakayami
提出日時 2021-07-08 23:27:19
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 246 ms / 2,000 ms
コード長 905 bytes
コンパイル時間 276 ms
コンパイル使用メモリ 82,528 KB
実行使用メモリ 98,536 KB
平均クエリ数 563.00
最終ジャッジ日時 2024-07-17 12:34:14
合計ジャッジ時間 5,878 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import deque
N,M=map(int,input().split())
dist=[[-1 for j in range(N)]for i in range(N)]
color=[[None for j in range(N)]for i in range(N)]
color[0][0]=1
def reachable(i,j):
    if color[i][j]==0:
        return False
    elif color[i][j]==1:
        return True
    else:
        print("{0} {1}".format(i+1,j+1),flush=True)
        T=input()
        if T=="Black":
            color[i][j]=1
            return True
        elif T=="White":
            color[i][j]=0
            return False
q=deque([(0,0)])
dist[0][0]=0
dx=[0,1,0,-1]
dy=[1,0,-1,0]
while(q):
    x,y=q.popleft()
    for k in range(4):
        nx=x+dx[k]
        ny=y+dy[k]
        if 0<=nx<N and 0<=ny<N:
            if dist[nx][ny]==-1:
                if reachable(nx,ny):
                    dist[nx][ny]=dist[x][y]+1
                    q.append((nx,ny))
if dist[N-1][N-1]==-1:
    print("No")
else:
    print("Yes")
0