結果
問題 |
No.1465 Archaea
|
ユーザー |
![]() |
提出日時 | 2021-04-03 09:53:10 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 284 ms / 2,000 ms |
コード長 | 1,003 bytes |
コンパイル時間 | 305 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 42,240 KB |
最終ジャッジ日時 | 2024-12-24 12:38:56 |
合計ジャッジ時間 | 3,132 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
ソースコード
from collections import deque def bfs(start, goal): """[summary] dfs: stack, pop() bfs: queue, popleft() Parameters ---------- start : [int] [description] goal : [int] [description] """ queue = deque() for i in graph[start]: queue.append((i)) visited[i] = 1 while queue: q = queue.popleft() # ゴールの条件(無くても良い) # if q == goal and d == 0: # return dist = visited[q] for i in graph[q]: if i <= n and visited[i] > dist + 1: queue.append((i)) visited[i] = dist + 1 n, k = map(int, input().split()) graph = [list() for _ in range(n + 1)] INF = 10 ** 9 visited = [INF] * (n + 1) visited[1] = 0 for i in range(1, n + 1): if i + 3 <= n: graph[i].append(i + 3) if i * 2 <= n: graph[i].append(i * 2) bfs(1, n) ans = visited[n] if ans == INF or ans > k: print("NO") else: print("YES")