結果
問題 | No.2928 Gridpath |
ユーザー |
![]() |
提出日時 | 2024-10-12 15:26:01 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 117 ms / 2,000 ms |
コード長 | 804 bytes |
コンパイル時間 | 244 ms |
コンパイル使用メモリ | 82,464 KB |
実行使用メモリ | 76,200 KB |
最終ジャッジ日時 | 2024-10-12 15:26:06 |
合計ジャッジ時間 | 2,607 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
H,W=map(int,input().split()) si,sj=map(int,input().split()) si-=1 sj-=1 gi,gj=map(int,input().split()) gi-=1 gj-=1 grid=[[False]*W for _ in range(H)] ans=0 didj=((0,1),(1,0),(0,-1),(-1,0)) def dfs(ci,cj): if ci==gi and cj==gj: global ans ans+=1 return for di,dj in didj: ni=ci+di nj=cj+dj if not(0<=ni<H and 0<=nj<W): continue if grid[ni][nj]: continue gc=0 for ddi,ddj in didj: nni=ni+ddi nnj=nj+ddj if not(0<=nni<H and 0<=nnj<W): continue if grid[nni][nnj]: gc+=1 if gc>=2: continue grid[ni][nj]=True dfs(ni,nj) grid[ni][nj]=False grid[si][sj]=True dfs(si,sj) print(ans)